@deephaven/dashboard-core-plugins 0.43.0 → 0.44.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 (181) hide show
  1. package/dist/ChartBuilderPlugin.js +54 -0
  2. package/dist/ChartBuilderPlugin.js.map +1 -0
  3. package/dist/ChartPlugin.js +66 -0
  4. package/dist/ChartPlugin.js.map +1 -0
  5. package/dist/ConsolePlugin.js +396 -0
  6. package/dist/ConsolePlugin.js.map +1 -0
  7. package/dist/FilterPlugin.js +205 -0
  8. package/dist/FilterPlugin.js.map +1 -0
  9. package/dist/GridPlugin.js +74 -0
  10. package/dist/GridPlugin.js.map +1 -0
  11. package/dist/LinkerPlugin.js +18 -0
  12. package/dist/LinkerPlugin.js.map +1 -0
  13. package/dist/MarkdownPlugin.js +87 -0
  14. package/dist/MarkdownPlugin.js.map +1 -0
  15. package/dist/PandasPlugin.js +66 -0
  16. package/dist/PandasPlugin.js.map +1 -0
  17. package/dist/controls/ControlType.js +10 -0
  18. package/dist/controls/ControlType.js.map +1 -0
  19. package/dist/controls/dropdown-filter/DropdownFilter.css +86 -0
  20. package/dist/controls/dropdown-filter/DropdownFilter.css.map +1 -0
  21. package/dist/controls/dropdown-filter/DropdownFilter.js +417 -0
  22. package/dist/controls/dropdown-filter/DropdownFilter.js.map +1 -0
  23. package/dist/controls/input-filter/InputFilter.css +75 -0
  24. package/dist/controls/input-filter/InputFilter.css.map +1 -0
  25. package/dist/controls/input-filter/InputFilter.js +291 -0
  26. package/dist/controls/input-filter/InputFilter.js.map +1 -0
  27. package/dist/controls/markdown/MarkdownContainer.js +30 -0
  28. package/dist/controls/markdown/MarkdownContainer.js.map +1 -0
  29. package/dist/controls/markdown/MarkdownEditor.js +52 -0
  30. package/dist/controls/markdown/MarkdownEditor.js.map +1 -0
  31. package/dist/controls/markdown/MarkdownStartPage.js +109 -0
  32. package/dist/controls/markdown/MarkdownStartPage.js.map +1 -0
  33. package/dist/controls/markdown/MarkdownUtils.js +23 -0
  34. package/dist/controls/markdown/MarkdownUtils.js.map +1 -0
  35. package/dist/events/ChartEvent.js +9 -0
  36. package/dist/events/ChartEvent.js.map +1 -0
  37. package/dist/events/ConsoleEvent.js +11 -0
  38. package/dist/events/ConsoleEvent.js.map +1 -0
  39. package/dist/events/InputFilterEvent.js +14 -0
  40. package/dist/events/InputFilterEvent.js.map +1 -0
  41. package/dist/events/IrisGridEvent.js +12 -0
  42. package/dist/events/IrisGridEvent.js.map +1 -0
  43. package/dist/events/MarkdownEvent.js +4 -0
  44. package/dist/events/MarkdownEvent.js.map +1 -0
  45. package/dist/events/NotebookEvent.js +15 -0
  46. package/dist/events/NotebookEvent.js.map +1 -0
  47. package/dist/events/PQEvent.js +9 -0
  48. package/dist/events/PQEvent.js.map +1 -0
  49. package/dist/events/PandasEvent.js +8 -0
  50. package/dist/events/PandasEvent.js.map +1 -0
  51. package/dist/events/TabEvent.js +12 -0
  52. package/dist/events/TabEvent.js.map +1 -0
  53. package/dist/events/index.js +9 -0
  54. package/dist/events/index.js.map +1 -0
  55. package/dist/index.js +17 -0
  56. package/dist/index.js.map +1 -0
  57. package/dist/linker/ColumnSelectionValidator.js +2 -0
  58. package/dist/linker/ColumnSelectionValidator.js.map +1 -0
  59. package/dist/linker/Linker.js +736 -0
  60. package/dist/linker/Linker.js.map +1 -0
  61. package/dist/linker/LinkerLink.css +142 -0
  62. package/dist/linker/LinkerLink.css.map +1 -0
  63. package/dist/linker/LinkerLink.js +314 -0
  64. package/dist/linker/LinkerLink.js.map +1 -0
  65. package/dist/linker/LinkerOverlayContent.css +63 -0
  66. package/dist/linker/LinkerOverlayContent.css.map +1 -0
  67. package/dist/linker/LinkerOverlayContent.js +343 -0
  68. package/dist/linker/LinkerOverlayContent.js.map +1 -0
  69. package/dist/linker/LinkerUtils.js +139 -0
  70. package/dist/linker/LinkerUtils.js.map +1 -0
  71. package/dist/linker/ToolType.js +5 -0
  72. package/dist/linker/ToolType.js.map +1 -0
  73. package/dist/linker/index.js +2 -0
  74. package/dist/linker/index.js.map +1 -0
  75. package/dist/panels/ChartColumnSelectorOverlay.css +11 -0
  76. package/dist/panels/ChartColumnSelectorOverlay.css.map +1 -0
  77. package/dist/panels/ChartColumnSelectorOverlay.js +38 -0
  78. package/dist/panels/ChartColumnSelectorOverlay.js.map +1 -0
  79. package/dist/panels/ChartFilterOverlay.css +22 -0
  80. package/dist/panels/ChartFilterOverlay.css.map +1 -0
  81. package/dist/panels/ChartFilterOverlay.js +90 -0
  82. package/dist/panels/ChartFilterOverlay.js.map +1 -0
  83. package/dist/panels/ChartPanel.css +38 -0
  84. package/dist/panels/ChartPanel.css.map +1 -0
  85. package/dist/panels/ChartPanel.js +971 -0
  86. package/dist/panels/ChartPanel.js.map +1 -0
  87. package/dist/panels/ChartPanelUtils.js +5 -0
  88. package/dist/panels/ChartPanelUtils.js.map +1 -0
  89. package/dist/panels/CommandHistoryPanel.css +19 -0
  90. package/dist/panels/CommandHistoryPanel.css.map +1 -0
  91. package/dist/panels/CommandHistoryPanel.js +195 -0
  92. package/dist/panels/CommandHistoryPanel.js.map +1 -0
  93. package/dist/panels/ConsolePanel.css +19 -0
  94. package/dist/panels/ConsolePanel.css.map +1 -0
  95. package/dist/panels/ConsolePanel.js +365 -0
  96. package/dist/panels/ConsolePanel.js.map +1 -0
  97. package/dist/panels/DropdownFilterPanel.css +6 -0
  98. package/dist/panels/DropdownFilterPanel.css.map +1 -0
  99. package/dist/panels/DropdownFilterPanel.js +685 -0
  100. package/dist/panels/DropdownFilterPanel.js.map +1 -0
  101. package/dist/panels/FileExplorerPanel.css +6 -0
  102. package/dist/panels/FileExplorerPanel.css.map +1 -0
  103. package/dist/panels/FileExplorerPanel.js +252 -0
  104. package/dist/panels/FileExplorerPanel.js.map +1 -0
  105. package/dist/panels/FilterSetManager.css +112 -0
  106. package/dist/panels/FilterSetManager.css.map +1 -0
  107. package/dist/panels/FilterSetManager.js +689 -0
  108. package/dist/panels/FilterSetManager.js.map +1 -0
  109. package/dist/panels/FilterSetManagerPanel.css +34 -0
  110. package/dist/panels/FilterSetManagerPanel.css.map +1 -0
  111. package/dist/panels/FilterSetManagerPanel.js +345 -0
  112. package/dist/panels/FilterSetManagerPanel.js.map +1 -0
  113. package/dist/panels/InputFilterPanel.js +232 -0
  114. package/dist/panels/InputFilterPanel.js.map +1 -0
  115. package/dist/panels/IrisGridPanel.css +24 -0
  116. package/dist/panels/IrisGridPanel.css.map +1 -0
  117. package/dist/panels/IrisGridPanel.js +1018 -0
  118. package/dist/panels/IrisGridPanel.js.map +1 -0
  119. package/dist/panels/IrisGridPanelTooltip.js +39 -0
  120. package/dist/panels/IrisGridPanelTooltip.js.map +1 -0
  121. package/dist/panels/LogPanel.css +15 -0
  122. package/dist/panels/LogPanel.css.map +1 -0
  123. package/dist/panels/LogPanel.js +110 -0
  124. package/dist/panels/LogPanel.js.map +1 -0
  125. package/dist/panels/MarkdownNotebook.css +107 -0
  126. package/dist/panels/MarkdownNotebook.css.map +1 -0
  127. package/dist/panels/MarkdownNotebook.js +232 -0
  128. package/dist/panels/MarkdownNotebook.js.map +1 -0
  129. package/dist/panels/MarkdownPanel.css +90 -0
  130. package/dist/panels/MarkdownPanel.css.map +1 -0
  131. package/dist/panels/MarkdownPanel.js +202 -0
  132. package/dist/panels/MarkdownPanel.js.map +1 -0
  133. package/dist/panels/MockFileStorage.js +70 -0
  134. package/dist/panels/MockFileStorage.js.map +1 -0
  135. package/dist/panels/MockFileStorageTable.js +80 -0
  136. package/dist/panels/MockFileStorageTable.js.map +1 -0
  137. package/dist/panels/NotebookPanel.css +44 -0
  138. package/dist/panels/NotebookPanel.css.map +1 -0
  139. package/dist/panels/NotebookPanel.js +1224 -0
  140. package/dist/panels/NotebookPanel.js.map +1 -0
  141. package/dist/panels/PandasPanel.css +15 -0
  142. package/dist/panels/PandasPanel.css.map +1 -0
  143. package/dist/panels/PandasPanel.js +86 -0
  144. package/dist/panels/PandasPanel.js.map +1 -0
  145. package/dist/panels/Panel.js +314 -0
  146. package/dist/panels/Panel.js.map +1 -0
  147. package/dist/panels/PanelContextMenu.js +126 -0
  148. package/dist/panels/PanelContextMenu.js.map +1 -0
  149. package/dist/panels/RenameDialog.js +156 -0
  150. package/dist/panels/RenameDialog.js.map +1 -0
  151. package/dist/panels/WidgetPanel.css +17 -0
  152. package/dist/panels/WidgetPanel.css.map +1 -0
  153. package/dist/panels/WidgetPanel.js +189 -0
  154. package/dist/panels/WidgetPanel.js.map +1 -0
  155. package/dist/panels/WidgetPanelTooltip.css +40 -0
  156. package/dist/panels/WidgetPanelTooltip.css.map +1 -0
  157. package/dist/panels/WidgetPanelTooltip.js +49 -0
  158. package/dist/panels/WidgetPanelTooltip.js.map +1 -0
  159. package/dist/panels/index.js +22 -0
  160. package/dist/panels/index.js.map +1 -0
  161. package/dist/prop-types/CommonPropTypes.js +9 -0
  162. package/dist/prop-types/CommonPropTypes.js.map +1 -0
  163. package/dist/prop-types/UIPropTypes.js +42 -0
  164. package/dist/prop-types/UIPropTypes.js.map +1 -0
  165. package/dist/prop-types/index.js +3 -0
  166. package/dist/prop-types/index.js.map +1 -0
  167. package/dist/redux/actionTypes.js +3 -0
  168. package/dist/redux/actionTypes.js.map +1 -0
  169. package/dist/redux/actions.js +88 -0
  170. package/dist/redux/actions.js.map +1 -0
  171. package/dist/redux/index.js +10 -0
  172. package/dist/redux/index.js.map +1 -0
  173. package/dist/redux/reducers/connection.js +7 -0
  174. package/dist/redux/reducers/connection.js.map +1 -0
  175. package/dist/redux/reducers/index.js +5 -0
  176. package/dist/redux/reducers/index.js.map +1 -0
  177. package/dist/redux/reducers/sessionWrapper.js +7 -0
  178. package/dist/redux/reducers/sessionWrapper.js.map +1 -0
  179. package/dist/redux/selectors.js +92 -0
  180. package/dist/redux/selectors.js.map +1 -0
  181. package/package.json +22 -22
@@ -0,0 +1,40 @@
1
+ /* stylelint-disable scss/at-import-no-partial-leading-underscore */
2
+ .tab-tooltip-grid-container {
3
+ display: grid;
4
+ grid-template-columns: auto 1fr;
5
+ align-items: first baseline;
6
+ max-width: 300px;
7
+ text-align: left;
8
+ }
9
+ .tab-tooltip-grid-container .tab-tooltip-title {
10
+ font-weight: 700;
11
+ }
12
+ .tab-tooltip-grid-container .tab-tooltip-name-wrapper {
13
+ display: flex;
14
+ flex-wrap: nowrap;
15
+ align-items: first baseline;
16
+ gap: 0.25rem;
17
+ }
18
+ .tab-tooltip-grid-container .tab-tooltip-name {
19
+ word-break: break-word;
20
+ }
21
+ .tab-tooltip-grid-container hr.tab-tooltip-divider {
22
+ grid-column: span 2;
23
+ width: 100%;
24
+ margin: 0.25rem 0;
25
+ border-color: #5b5a5c;
26
+ }
27
+ .tab-tooltip-grid-container .tab-tooltip-description {
28
+ grid-column: span 2;
29
+ color: #929192;
30
+ padding-bottom: 0.25rem;
31
+ }
32
+ .tab-tooltip-grid-container .tab-tooltip-statistic-value {
33
+ font-feature-settings: "tnum";
34
+ text-align: right;
35
+ text-overflow: ellipsis;
36
+ overflow: hidden;
37
+ white-space: nowrap;
38
+ }
39
+
40
+ /*# sourceMappingURL=WidgetPanelTooltip.css.map */
@@ -0,0 +1 @@
1
+ {"version":3,"sourceRoot":"","sources":["../../../../node_modules/@deephaven/components/scss/custom.scss","../../src/panels/WidgetPanelTooltip.scss","../../../../node_modules/@deephaven/components/scss/new_variables.scss","../../../../node_modules/@deephaven/components/scss/bootstrap_overrides.scss"],"names":[],"mappings":"AAAA;ACIA;EACE;EACA;EACA;EACA,WANwB;EAOxB;;AAEA;EACE;;AAGF;EACE;EACA;EACA;EACA,KCjBO;;ADoBT;EACE;;AAGF;EACE;EACA;EACA;EACA,cERO;;AFWT;EACE;EACA,OEdO;EFeP,gBClCO;;ADqCT;EACE;EACA;EACA;EACA;EACA","file":"WidgetPanelTooltip.css","sourcesContent":["/* stylelint-disable scss/at-import-no-partial-leading-underscore */\n// Consumers should be able to resolve bootstrap/ to node_modules/bootstrap\n\n//Make bootstrap functions available for use in overrides\n@import 'bootstrap/scss/_functions.scss';\n@import './bootstrap_overrides.scss';\n\n//_variable imports come after bootstrap default overrides,\n// makes all other variables and mixins from bootstrap available\n/// with just importing customer.scss\n@import 'bootstrap/scss/_variables.scss';\n@import 'bootstrap/scss/_mixins.scss';\n\n//New variables come after imports\n@import './new_variables.scss';\n","@import '@deephaven/components/scss/custom.scss';\n\n$tooltip-container-width: 300px;\n\n.tab-tooltip-grid-container {\n display: grid;\n grid-template-columns: auto 1fr;\n align-items: first baseline;\n max-width: $tooltip-container-width;\n text-align: left;\n\n .tab-tooltip-title {\n font-weight: 700;\n }\n\n .tab-tooltip-name-wrapper {\n display: flex;\n flex-wrap: nowrap;\n align-items: first baseline;\n gap: $spacer-1;\n }\n\n .tab-tooltip-name {\n word-break: break-word;\n }\n\n hr.tab-tooltip-divider {\n grid-column: span 2;\n width: 100%;\n margin: $spacer-1 0;\n border-color: $gray-500;\n }\n\n .tab-tooltip-description {\n grid-column: span 2;\n color: $text-muted;\n padding-bottom: $spacer-1;\n }\n\n .tab-tooltip-statistic-value {\n font-feature-settings: 'tnum';\n text-align: right;\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap;\n }\n}\n","//Set of spacer variables from the spacer map\n$spacer-0: map-get($spacers, 0); //0\n$spacer-1: map-get($spacers, 1);\n$spacer-2: map-get($spacers, 2);\n$spacer-3: map-get($spacers, 3);\n$spacer-4: map-get($spacers, 4);\n$spacer-5: map-get($spacers, 5);\n\n//Marching Ants for golden layout dropzone and drag and drop\n//top bottom, left right.\n//create 4 background images that are 50% color 1, 50% color 2 using graidents, two veritical, two horizontal\n//size them to ant-size and thickness\n//position those images along the egdes and make top/bottom repeat-x and left/right repeat-y\n//then offest each of those background positions by ant-size in animation to make them march.\n$ant-size: 8px;\n$ant-thickness: 1px;\n\n@mixin ants-base($color-1: black, $color-2: white) {\n background-image: linear-gradient(to right, $color-2 50%, $color-1 50%),\n linear-gradient(to right, $color-2 50%, $color-1 50%),\n linear-gradient(to bottom, $color-2 50%, $color-1 50%),\n linear-gradient(to bottom, $color-2 50%, $color-1 50%);\n background-size: $ant-size $ant-thickness, $ant-size $ant-thickness,\n $ant-thickness $ant-size, $ant-thickness $ant-size;\n background-position: 0 top, 0 bottom, left 0, right 0;\n background-repeat: repeat-x, repeat-x, repeat-y, repeat-y;\n animation: march 0.5s;\n animation-timing-function: linear;\n animation-iteration-count: infinite;\n}\n\n@mixin drag-stack($pseudo-element) {\n &::#{$pseudo-element} {\n content: ' ';\n background: $primary;\n box-shadow: $box-shadow;\n border-radius: $border-radius;\n position: absolute;\n height: 100%;\n width: 100%;\n @content;\n }\n}\n\n$focus-bg-transparency: 0.12;\n$hover-bg-transparency: 0.14;\n$active-bg-transparency: 0.28;\n$exception-transparency: 0.13;\n","// Styling overrides for bootstrap\n\n// Override / set color variables\n$red: #f95d84;\n$orange: #f37e3f;\n$yellow: #fcd65b;\n$green: #9edc6f;\n$blue: #76d9e4;\n$purple: #aa9af4;\n\n//Define some UI colors\n$interfacegray: #2d2a2e;\n$interfaceblue: #4878ea;\n$interfacewhite: #f0f0ee; //same as gray-200\n$interfaceblack: #1a171a;\n\n//Define our Gray scale\n$white: $interfacewhite;\n$gray-100: #fcfcfa;\n$gray-200: $interfacewhite;\n$gray-300: #c0bfbf;\n$gray-400: #929192;\n$gray-500: #5b5a5c;\n$gray-600: #555356;\n$gray-700: #403e41;\n$gray-800: #373438;\n$gray-850: #322f33;\n$gray-900: #211f22;\n$black: $interfaceblack;\n$content-bg: $interfacegray;\n$background: $interfaceblack;\n$foreground: $interfacewhite;\n\n//Load colors into map\n$colors: ();\n$colors: map-merge(\n (\n 'red': $red,\n 'orange': $orange,\n 'yellow': $yellow,\n 'green': $green,\n 'blue': $blue,\n 'purple': $purple,\n 'white': $white,\n 'black': $black,\n ),\n $colors\n);\n\n//Set default colors\n$body-bg: $black;\n$body-color: $interfacewhite;\n\n// Set brand colors\n$primary: $interfaceblue;\n$primary-hover: darken($primary, 8%);\n$primary-dark: mix($primary, $content-bg, 25%);\n$primary-light: scale-color($primary, $lightness: -25%);\n$secondary: $gray-500;\n$secondary-hover: darken($secondary, 8%);\n$success: $green;\n$info: $yellow;\n$warning: $orange;\n$danger: $red;\n$danger-hover: darken($danger, 8%);\n$light: $gray-100;\n$mid: $gray-400; //Added a mid color, useful for input styling\n$dark: $gray-800;\n$green-dark: scale-color($green, $lightness: -45%, $saturation: -10%);\n\n$theme-colors: () !default;\n$theme-colors: map-merge(\n (\n 'primary': $primary,\n 'primary-hover': $primary-hover,\n 'primary-light': $primary-light,\n 'primary-dark': $primary-dark,\n 'secondary': $secondary,\n 'success': $success,\n 'info': $info,\n 'warning': $warning,\n 'danger': $danger,\n 'light': $light,\n 'dark': $dark,\n 'mid': $mid,\n 'content-bg': $interfacegray,\n 'background': $interfaceblack,\n 'foreground': $interfacewhite,\n ),\n $theme-colors\n);\n\n$component-active-bg: $primary;\n$theme-color-interval: 9%;\n$yiq-contrasted-threshold: 180;\n\n// Override fonts\n$font-family-sans-serif: 'Fira Sans', -apple-system, blinkmacsystemfont,\n 'Segoe UI', 'Roboto', 'Helvetica Neue', arial, sans-serif; //fira sans then native system ui fallbacks\n$font-family-monospace: 'Fira Mono', menlo, monaco, consolas, 'Liberation Mono',\n 'Courier New', monospace;\n$font-family-base: $font-family-sans-serif;\n\n$headings-font-weight: 400;\n\n//Text overides\n$text-muted: $gray-400;\n\n//Style Selection highlight color\n//so browsers add alpha to your color by default, ignoring opacity 1\n//by setting rgba with 0.99 it tricks browser into thinking there is alpha applied\n$text-select-color: $primary-hover;\n$text-select-color-editor: lighten(\n $gray-700,\n 15%\n); //we lighten it abit to account for that 0.01 loss, and because it needs some anyways.\n\n//Grid variables, same value as default just making easily accessible\n$grid-gutter-width: 30px;\n\n//Visual Overrides\n$border-radius: 4px;\n$box-shadow: 0 0.1rem 1rem rgba($black, 45%); //because our UI is so dark, we need darker default shadows\n$box-shadow-900: 0 0.1rem 1rem rgba(0, 0, 0, 45%); //darkest shadow for $black popups over $black UI\n\n//Override Btn\n$btn-border-radius: 4rem;\n$btn-padding-x: 1.5rem;\n$btn-transition: color 0.12s ease-in-out, background-color 0.12s ease-in-out,\n border-color 0.12s ease-in-out, box-shadow 0.12s ease-in-out; //default 0.15 is too long\n$btn-border-width: 2px;\n\n//Override Inputs\n$input-bg: $gray-600;\n$input-disabled-bg: $gray-800;\n$input-color: $foreground;\n$input-border-color: $gray-400;\n$input-placeholder-color: $gray-400;\n$input-focus-border-color: rgba($primary, 85%);\n\n$input-btn-focus-width: 0.2rem;\n$input-btn-focus-color: rgba($component-active-bg, 35%);\n$input-btn-focus-box-shadow: 0 0 0 $input-btn-focus-width $input-btn-focus-color;\n\n//checkbox\n$custom-control-indicator-bg: $gray-600;\n$custom-control-indicator-bg-size: 75% 75%;\n$custom-control-indicator-disabled-bg: $gray-800;\n$custom-control-indicator-checked-disabled-bg: $gray-800;\n$custom-control-label-disabled-color: $gray-400;\n\n//Custom Select\n$custom-select-indicator-color: $gray-400;\n$custom-select-bg-size: 16px 16px;\n//dhSort icon encoded\n$custom-select-indicator: str-replace(\n url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='#{$custom-select-indicator-color}' d='M4 7l-.4-.8 4-3.7h.8l4 3.7-.4.8H4zm0 2l-.4.8 4 3.7h.8l4-3.7L12 9H4z'/%3E%3C/svg%3E\"),\n '#',\n '%23'\n);\n$custom-select-focus-box-shadow: $input-btn-focus-box-shadow;\n$custom-select-disabled-color: darken($gray-400, 5%);\n$custom-select-disabled-bg: $gray-800;\n\n//modal\n$modal-content-bg: $gray-200;\n$modal-content-border-width: 0;\n$modal-md: 550px;\n\n// Toast notification\n$toast-bg: $primary-dark;\n$toast-color: $foreground;\n$toast-error-bg: mix($danger, $content-bg, 15%);\n$toast-error-color: $foreground;\n\n//tooltips\n$tooltip-bg: $gray-700;\n$tooltip-color: $foreground;\n$tooltip-box-shadow: 0 0.1rem 1.5rem 0.1rem rgba($black, 80%);\n\n//drowdowns\n$dropdown-bg: $gray-600;\n$dropdown-link-color: $foreground;\n$dropdown-link-hover-color: $foreground;\n$dropdown-link-hover-bg: $primary;\n$dropdown-divider-bg: $gray-700;\n\n//context menus\n$contextmenu-bg: $gray-600;\n$contextmenu-color: $foreground;\n$contextmenu-disabled-color: $text-muted;\n$contextmenu-keyboard-selected-bg: rgba($primary, 50%);\n$contextmenu-selected-bg: $primary;\n$contextmenu-selected-color: $foreground;\n\n//links\n$link-color: $gray-400;\n$link-hover-color: $foreground;\n\n//progress-bar\n$progress-bg: $gray-600;\n$progress-border-radius: 1rem;\n\n// Set global options\n$enable-shadows: false;\n$enable-gradients: false;\n$enable-print-styles: false; //I don't think anyone should expect to \"print\" this app.\n\n// Transition times\n$transition: 0.15s;\n$transition-mid: 0.2s;\n$transition-long: 0.3s;\n$transition-slow: 0.6s;\n\n//form-validation icon, uses vsWarning icon encoded here as svg\n$form-feedback-icon-invalid-color: theme-color('danger');\n$form-feedback-icon-invalid: str-replace(\n url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cg fill='none'%3E%3Cg fill='#{$form-feedback-icon-invalid-color}'%3E%3Cpath d='M7.56 1h.88l6.54 12.26-.44.74H1.44L1 13.26 7.56 1zM8 2.28 2.28 13H13.7L8 2.28zM8.625 12v-1h-1.25v1h1.25zm-1.25-2V6h1.25v4h-1.25z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E \"),\n '#',\n '%23'\n);\n"]}
@@ -0,0 +1,49 @@
1
+ import React from 'react';
2
+ import PropTypes from 'prop-types';
3
+ import { CopyButton } from '@deephaven/components';
4
+ import { GLPropTypes, LayoutUtils } from '@deephaven/dashboard';
5
+ import "./WidgetPanelTooltip.css";
6
+ function WidgetPanelTooltip(props) {
7
+ var {
8
+ widgetType,
9
+ widgetName,
10
+ glContainer,
11
+ description,
12
+ children
13
+ } = props;
14
+ var panelTitle = LayoutUtils.getTitleFromContainer(glContainer);
15
+ return /*#__PURE__*/React.createElement("div", {
16
+ className: "tab-tooltip-grid-container"
17
+ }, /*#__PURE__*/React.createElement("span", {
18
+ className: "tab-tooltip-title"
19
+ }, widgetType, " Name"), /*#__PURE__*/React.createElement("div", {
20
+ className: "tab-tooltip-name-wrapper"
21
+ }, /*#__PURE__*/React.createElement("span", {
22
+ className: "tab-tooltip-name"
23
+ }, widgetName), /*#__PURE__*/React.createElement(CopyButton, {
24
+ className: "tab-tooltip-copy",
25
+ tooltip: "Copy name",
26
+ copy: widgetName
27
+ })), widgetName !== panelTitle && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("span", {
28
+ className: "tab-tooltip-title"
29
+ }, "Display Name"), /*#__PURE__*/React.createElement("span", {
30
+ className: "tab-tooltip-name"
31
+ }, panelTitle)), description && /*#__PURE__*/React.createElement("div", {
32
+ className: "tab-tooltip-description"
33
+ }, description), children);
34
+ }
35
+ WidgetPanelTooltip.propTypes = {
36
+ glContainer: GLPropTypes.Container.isRequired,
37
+ widgetType: PropTypes.string,
38
+ widgetName: PropTypes.string,
39
+ description: PropTypes.string,
40
+ children: PropTypes.node
41
+ };
42
+ WidgetPanelTooltip.defaultProps = {
43
+ widgetType: '',
44
+ widgetName: '',
45
+ description: null,
46
+ children: null
47
+ };
48
+ export default WidgetPanelTooltip;
49
+ //# sourceMappingURL=WidgetPanelTooltip.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WidgetPanelTooltip.js","names":["React","PropTypes","CopyButton","GLPropTypes","LayoutUtils","WidgetPanelTooltip","props","widgetType","widgetName","glContainer","description","children","panelTitle","getTitleFromContainer","propTypes","Container","isRequired","string","node","defaultProps"],"sources":["../../src/panels/WidgetPanelTooltip.tsx"],"sourcesContent":["import React, { ReactNode } from 'react';\nimport PropTypes from 'prop-types';\nimport { CopyButton } from '@deephaven/components';\nimport { GLPropTypes, LayoutUtils } from '@deephaven/dashboard';\nimport './WidgetPanelTooltip.scss';\nimport { ReactElement } from 'react-markdown';\nimport type { Container } from '@deephaven/golden-layout';\n\ninterface WidgetPanelTooltipProps {\n glContainer: Container;\n widgetType: string;\n widgetName: string;\n description: string;\n children: ReactNode;\n}\nfunction WidgetPanelTooltip(props: WidgetPanelTooltipProps): ReactElement {\n const { widgetType, widgetName, glContainer, description, children } = props;\n const panelTitle = LayoutUtils.getTitleFromContainer(glContainer);\n\n return (\n <div className=\"tab-tooltip-grid-container\">\n <span className=\"tab-tooltip-title\">{widgetType} Name</span>\n <div className=\"tab-tooltip-name-wrapper\">\n <span className=\"tab-tooltip-name\">{widgetName}</span>\n <CopyButton\n className=\"tab-tooltip-copy\"\n tooltip=\"Copy name\"\n copy={widgetName}\n />\n </div>\n {widgetName !== panelTitle && (\n <>\n <span className=\"tab-tooltip-title\">Display Name</span>\n <span className=\"tab-tooltip-name\">{panelTitle}</span>\n </>\n )}\n {description && (\n <div className=\"tab-tooltip-description\">{description}</div>\n )}\n {children}\n </div>\n );\n}\n\nWidgetPanelTooltip.propTypes = {\n glContainer: GLPropTypes.Container.isRequired,\n widgetType: PropTypes.string,\n widgetName: PropTypes.string,\n description: PropTypes.string,\n children: PropTypes.node,\n};\n\nWidgetPanelTooltip.defaultProps = {\n widgetType: '',\n widgetName: '',\n description: null,\n children: null,\n};\n\nexport default WidgetPanelTooltip;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAqB,OAAO;AACxC,OAAOC,SAAS,MAAM,YAAY;AAClC,SAASC,UAAU,QAAQ,uBAAuB;AAClD,SAASC,WAAW,EAAEC,WAAW,QAAQ,sBAAsB;AAAC;AAYhE,SAASC,kBAAkB,CAACC,KAA8B,EAAgB;EACxE,IAAM;IAAEC,UAAU;IAAEC,UAAU;IAAEC,WAAW;IAAEC,WAAW;IAAEC;EAAS,CAAC,GAAGL,KAAK;EAC5E,IAAMM,UAAU,GAAGR,WAAW,CAACS,qBAAqB,CAACJ,WAAW,CAAC;EAEjE,oBACE;IAAK,SAAS,EAAC;EAA4B,gBACzC;IAAM,SAAS,EAAC;EAAmB,GAAEF,UAAU,EAAC,OAAK,CAAO,eAC5D;IAAK,SAAS,EAAC;EAA0B,gBACvC;IAAM,SAAS,EAAC;EAAkB,GAAEC,UAAU,CAAQ,eACtD,oBAAC,UAAU;IACT,SAAS,EAAC,kBAAkB;IAC5B,OAAO,EAAC,WAAW;IACnB,IAAI,EAAEA;EAAW,EACjB,CACE,EACLA,UAAU,KAAKI,UAAU,iBACxB,uDACE;IAAM,SAAS,EAAC;EAAmB,GAAC,cAAY,CAAO,eACvD;IAAM,SAAS,EAAC;EAAkB,GAAEA,UAAU,CAAQ,CAEzD,EACAF,WAAW,iBACV;IAAK,SAAS,EAAC;EAAyB,GAAEA,WAAW,CACtD,EACAC,QAAQ,CACL;AAEV;AAEAN,kBAAkB,CAACS,SAAS,GAAG;EAC7BL,WAAW,EAAEN,WAAW,CAACY,SAAS,CAACC,UAAU;EAC7CT,UAAU,EAAEN,SAAS,CAACgB,MAAM;EAC5BT,UAAU,EAAEP,SAAS,CAACgB,MAAM;EAC5BP,WAAW,EAAET,SAAS,CAACgB,MAAM;EAC7BN,QAAQ,EAAEV,SAAS,CAACiB;AACtB,CAAC;AAEDb,kBAAkB,CAACc,YAAY,GAAG;EAChCZ,UAAU,EAAE,EAAE;EACdC,UAAU,EAAE,EAAE;EACdE,WAAW,EAAE,IAAI;EACjBC,QAAQ,EAAE;AACZ,CAAC;AAED,eAAeN,kBAAkB"}
@@ -0,0 +1,22 @@
1
+ export { default as ChartPanel } from "./ChartPanel.js";
2
+ export * from "./ChartPanel.js";
3
+ export * from "./ChartPanelUtils.js";
4
+ export { default as CommandHistoryPanel } from "./CommandHistoryPanel.js";
5
+ export { default as ConsolePanel } from "./ConsolePanel.js";
6
+ export { default as DropdownFilterPanel } from "./DropdownFilterPanel.js";
7
+ export { default as FileExplorerPanel } from "./FileExplorerPanel.js";
8
+ export { default as FilterSetManager } from "./FilterSetManager.js";
9
+ export { default as FilterSetManagerPanel } from "./FilterSetManagerPanel.js";
10
+ export { default as InputFilterPanel } from "./InputFilterPanel.js";
11
+ export { default as IrisGridPanel } from "./IrisGridPanel.js";
12
+ export * from "./IrisGridPanel.js";
13
+ export { default as LogPanel } from "./LogPanel.js";
14
+ export { default as MarkdownPanel } from "./MarkdownPanel.js";
15
+ export { default as NotebookPanel } from "./NotebookPanel.js";
16
+ export { default as PandasPanel } from "./PandasPanel.js";
17
+ export * from "./PandasPanel.js";
18
+ export { default as Panel } from "./Panel.js";
19
+ export { default as WidgetPanel } from "./WidgetPanel.js";
20
+ export { default as WidgetPanelTooltip } from "./WidgetPanelTooltip.js";
21
+ export { default as MockFileStorage } from "./MockFileStorage.js";
22
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["default","ChartPanel","CommandHistoryPanel","ConsolePanel","DropdownFilterPanel","FileExplorerPanel","FilterSetManager","FilterSetManagerPanel","InputFilterPanel","IrisGridPanel","LogPanel","MarkdownPanel","NotebookPanel","PandasPanel","Panel","WidgetPanel","WidgetPanelTooltip","MockFileStorage"],"sources":["../../src/panels/index.ts"],"sourcesContent":["export { default as ChartPanel } from './ChartPanel';\nexport * from './ChartPanel';\nexport * from './ChartPanelUtils';\nexport { default as CommandHistoryPanel } from './CommandHistoryPanel';\nexport { default as ConsolePanel } from './ConsolePanel';\nexport { default as DropdownFilterPanel } from './DropdownFilterPanel';\nexport { default as FileExplorerPanel } from './FileExplorerPanel';\nexport { default as FilterSetManager } from './FilterSetManager';\nexport type { FilterSet } from './FilterSetManager';\nexport { default as FilterSetManagerPanel } from './FilterSetManagerPanel';\nexport { default as InputFilterPanel } from './InputFilterPanel';\nexport { default as IrisGridPanel } from './IrisGridPanel';\nexport * from './IrisGridPanel';\nexport { default as LogPanel } from './LogPanel';\nexport { default as MarkdownPanel } from './MarkdownPanel';\nexport { default as NotebookPanel } from './NotebookPanel';\nexport { default as PandasPanel } from './PandasPanel';\nexport * from './PandasPanel';\nexport { default as Panel } from './Panel';\nexport { default as WidgetPanel } from './WidgetPanel';\nexport { default as WidgetPanelTooltip } from './WidgetPanelTooltip';\nexport { default as MockFileStorage } from './MockFileStorage';\n"],"mappings":"SAASA,OAAO,IAAIC,UAAU;AAAA;AAAA;AAAA,SAGrBD,OAAO,IAAIE,mBAAmB;AAAA,SAC9BF,OAAO,IAAIG,YAAY;AAAA,SACvBH,OAAO,IAAII,mBAAmB;AAAA,SAC9BJ,OAAO,IAAIK,iBAAiB;AAAA,SAC5BL,OAAO,IAAIM,gBAAgB;AAAA,SAE3BN,OAAO,IAAIO,qBAAqB;AAAA,SAChCP,OAAO,IAAIQ,gBAAgB;AAAA,SAC3BR,OAAO,IAAIS,aAAa;AAAA;AAAA,SAExBT,OAAO,IAAIU,QAAQ;AAAA,SACnBV,OAAO,IAAIW,aAAa;AAAA,SACxBX,OAAO,IAAIY,aAAa;AAAA,SACxBZ,OAAO,IAAIa,WAAW;AAAA;AAAA,SAEtBb,OAAO,IAAIc,KAAK;AAAA,SAChBd,OAAO,IAAIe,WAAW;AAAA,SACtBf,OAAO,IAAIgB,kBAAkB;AAAA,SAC7BhB,OAAO,IAAIiB,eAAe"}
@@ -0,0 +1,9 @@
1
+ import PropTypes from 'prop-types';
2
+ var nullableBoolean = (props, propName) => props[propName] === null ? null : PropTypes.bool;
3
+ var nullableString = (props, propName) => props[propName] === null ? null : PropTypes.string;
4
+ var CommonPropTypes = Object.freeze({
5
+ nullableBoolean,
6
+ nullableString
7
+ });
8
+ export default CommonPropTypes;
9
+ //# sourceMappingURL=CommonPropTypes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CommonPropTypes.js","names":["PropTypes","nullableBoolean","props","propName","bool","nullableString","string","CommonPropTypes","Object","freeze"],"sources":["../../src/prop-types/CommonPropTypes.ts"],"sourcesContent":["import PropTypes from 'prop-types';\n\nconst nullableBoolean = (props: Record<string, unknown>, propName: string) =>\n props[propName] === null ? null : PropTypes.bool;\n\nconst nullableString = (props: Record<string, unknown>, propName: string) =>\n props[propName] === null ? null : PropTypes.string;\n\nconst CommonPropTypes = Object.freeze({ nullableBoolean, nullableString });\n\nexport default CommonPropTypes;\n"],"mappings":"AAAA,OAAOA,SAAS,MAAM,YAAY;AAElC,IAAMC,eAAe,GAAG,CAACC,KAA8B,EAAEC,QAAgB,KACvED,KAAK,CAACC,QAAQ,CAAC,KAAK,IAAI,GAAG,IAAI,GAAGH,SAAS,CAACI,IAAI;AAElD,IAAMC,cAAc,GAAG,CAACH,KAA8B,EAAEC,QAAgB,KACtED,KAAK,CAACC,QAAQ,CAAC,KAAK,IAAI,GAAG,IAAI,GAAGH,SAAS,CAACM,MAAM;AAEpD,IAAMC,eAAe,GAAGC,MAAM,CAACC,MAAM,CAAC;EAAER,eAAe;EAAEI;AAAe,CAAC,CAAC;AAE1E,eAAeE,eAAe"}
@@ -0,0 +1,42 @@
1
+ import PropTypes from 'prop-types';
2
+ var Panel = PropTypes.shape({
3
+ state: PropTypes.shape({
4
+ panelState: PropTypes.shape({})
5
+ })
6
+ });
7
+ var LinkPoint = PropTypes.shape({
8
+ panelId: PropTypes.string.isRequired,
9
+ columnName: PropTypes.string.isRequired,
10
+ columnType: PropTypes.string.isRequired
11
+ });
12
+ var LinkPointUntyped = PropTypes.shape({
13
+ panelId: PropTypes.string.isRequired,
14
+ columnName: PropTypes.string.isRequired
15
+ });
16
+ var Link = PropTypes.shape({
17
+ start: LinkPointUntyped,
18
+ end: LinkPointUntyped,
19
+ id: PropTypes.string,
20
+ isReversed: PropTypes.bool
21
+ });
22
+ var Links = PropTypes.arrayOf(Link);
23
+ var User = PropTypes.shape({
24
+ name: PropTypes.string.isRequired,
25
+ operateAs: PropTypes.string.isRequired,
26
+ groups: PropTypes.arrayOf(PropTypes.string).isRequired,
27
+ permissions: PropTypes.shape({
28
+ canUsePanels: PropTypes.bool.isRequired,
29
+ canCopy: PropTypes.bool.isRequired,
30
+ canDownloadCsv: PropTypes.bool.isRequired,
31
+ canLogout: PropTypes.bool.isRequired
32
+ }).isRequired
33
+ });
34
+ var UIPropTypes = Object.freeze({
35
+ LinkPoint,
36
+ Link,
37
+ Links,
38
+ Panel,
39
+ User
40
+ });
41
+ export default UIPropTypes;
42
+ //# sourceMappingURL=UIPropTypes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UIPropTypes.js","names":["PropTypes","Panel","shape","state","panelState","LinkPoint","panelId","string","isRequired","columnName","columnType","LinkPointUntyped","Link","start","end","id","isReversed","bool","Links","arrayOf","User","name","operateAs","groups","permissions","canUsePanels","canCopy","canDownloadCsv","canLogout","UIPropTypes","Object","freeze"],"sources":["../../src/prop-types/UIPropTypes.ts"],"sourcesContent":["import PropTypes from 'prop-types';\n\nconst Panel = PropTypes.shape({\n state: PropTypes.shape({\n panelState: PropTypes.shape({}),\n }),\n});\n\nconst LinkPoint = PropTypes.shape({\n panelId: PropTypes.string.isRequired,\n columnName: PropTypes.string.isRequired,\n columnType: PropTypes.string.isRequired,\n});\n\nconst LinkPointUntyped = PropTypes.shape({\n panelId: PropTypes.string.isRequired,\n columnName: PropTypes.string.isRequired,\n});\n\nconst Link = PropTypes.shape({\n start: LinkPointUntyped,\n end: LinkPointUntyped,\n id: PropTypes.string,\n isReversed: PropTypes.bool,\n});\n\nconst Links = PropTypes.arrayOf(Link);\n\nconst User = PropTypes.shape({\n name: PropTypes.string.isRequired,\n operateAs: PropTypes.string.isRequired,\n groups: PropTypes.arrayOf(PropTypes.string).isRequired,\n permissions: PropTypes.shape({\n canUsePanels: PropTypes.bool.isRequired,\n canCopy: PropTypes.bool.isRequired,\n canDownloadCsv: PropTypes.bool.isRequired,\n canLogout: PropTypes.bool.isRequired,\n }).isRequired,\n});\n\nconst UIPropTypes = Object.freeze({\n LinkPoint,\n Link,\n Links,\n Panel,\n User,\n});\n\nexport default UIPropTypes;\n"],"mappings":"AAAA,OAAOA,SAAS,MAAM,YAAY;AAElC,IAAMC,KAAK,GAAGD,SAAS,CAACE,KAAK,CAAC;EAC5BC,KAAK,EAAEH,SAAS,CAACE,KAAK,CAAC;IACrBE,UAAU,EAAEJ,SAAS,CAACE,KAAK,CAAC,CAAC,CAAC;EAChC,CAAC;AACH,CAAC,CAAC;AAEF,IAAMG,SAAS,GAAGL,SAAS,CAACE,KAAK,CAAC;EAChCI,OAAO,EAAEN,SAAS,CAACO,MAAM,CAACC,UAAU;EACpCC,UAAU,EAAET,SAAS,CAACO,MAAM,CAACC,UAAU;EACvCE,UAAU,EAAEV,SAAS,CAACO,MAAM,CAACC;AAC/B,CAAC,CAAC;AAEF,IAAMG,gBAAgB,GAAGX,SAAS,CAACE,KAAK,CAAC;EACvCI,OAAO,EAAEN,SAAS,CAACO,MAAM,CAACC,UAAU;EACpCC,UAAU,EAAET,SAAS,CAACO,MAAM,CAACC;AAC/B,CAAC,CAAC;AAEF,IAAMI,IAAI,GAAGZ,SAAS,CAACE,KAAK,CAAC;EAC3BW,KAAK,EAAEF,gBAAgB;EACvBG,GAAG,EAAEH,gBAAgB;EACrBI,EAAE,EAAEf,SAAS,CAACO,MAAM;EACpBS,UAAU,EAAEhB,SAAS,CAACiB;AACxB,CAAC,CAAC;AAEF,IAAMC,KAAK,GAAGlB,SAAS,CAACmB,OAAO,CAACP,IAAI,CAAC;AAErC,IAAMQ,IAAI,GAAGpB,SAAS,CAACE,KAAK,CAAC;EAC3BmB,IAAI,EAAErB,SAAS,CAACO,MAAM,CAACC,UAAU;EACjCc,SAAS,EAAEtB,SAAS,CAACO,MAAM,CAACC,UAAU;EACtCe,MAAM,EAAEvB,SAAS,CAACmB,OAAO,CAACnB,SAAS,CAACO,MAAM,CAAC,CAACC,UAAU;EACtDgB,WAAW,EAAExB,SAAS,CAACE,KAAK,CAAC;IAC3BuB,YAAY,EAAEzB,SAAS,CAACiB,IAAI,CAACT,UAAU;IACvCkB,OAAO,EAAE1B,SAAS,CAACiB,IAAI,CAACT,UAAU;IAClCmB,cAAc,EAAE3B,SAAS,CAACiB,IAAI,CAACT,UAAU;IACzCoB,SAAS,EAAE5B,SAAS,CAACiB,IAAI,CAACT;EAC5B,CAAC,CAAC,CAACA;AACL,CAAC,CAAC;AAEF,IAAMqB,WAAW,GAAGC,MAAM,CAACC,MAAM,CAAC;EAChC1B,SAAS;EACTO,IAAI;EACJM,KAAK;EACLjB,KAAK;EACLmB;AACF,CAAC,CAAC;AAEF,eAAeS,WAAW"}
@@ -0,0 +1,3 @@
1
+ export { default as UIPropTypes } from "./UIPropTypes.js";
2
+ export { default as CommonPropTypes } from "./CommonPropTypes.js";
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["default","UIPropTypes","CommonPropTypes"],"sources":["../../src/prop-types/index.ts"],"sourcesContent":["export { default as UIPropTypes } from './UIPropTypes';\nexport { default as CommonPropTypes } from './CommonPropTypes';\n"],"mappings":"SAASA,OAAO,IAAIC,WAAW;AAAA,SACtBD,OAAO,IAAIE,eAAe"}
@@ -0,0 +1,3 @@
1
+ export var SET_SESSION_WRAPPER = 'SET_SESSION_WRAPPER';
2
+ export var SET_CONNECTION = 'SET_CONNECTION';
3
+ //# sourceMappingURL=actionTypes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"actionTypes.js","names":["SET_SESSION_WRAPPER","SET_CONNECTION"],"sources":["../../src/redux/actionTypes.ts"],"sourcesContent":["export const SET_SESSION_WRAPPER = 'SET_SESSION_WRAPPER';\n\nexport const SET_CONNECTION = 'SET_CONNECTION';\n"],"mappings":"AAAA,OAAO,IAAMA,mBAAmB,GAAG,qBAAqB;AAExD,OAAO,IAAMC,cAAc,GAAG,gBAAgB"}
@@ -0,0 +1,88 @@
1
+ import deepEqual from 'deep-equal';
2
+ import { updateDashboardData } from '@deephaven/dashboard';
3
+ import { getLinksForDashboard } from "./selectors.js";
4
+ /**
5
+ * Set the connection for the dashboard specified
6
+ * @param id The ID of the dashboard to set the connection for
7
+ * @param connection The connection object to set for the dashboard
8
+ */
9
+ export var setDashboardConnection = (id, connection) => dispatch => dispatch(updateDashboardData(id, {
10
+ connection
11
+ }));
12
+
13
+ /**
14
+ * Set the session wrapper for the dashboard specified
15
+ * @param id The ID of the dashboard to set the session for
16
+ * @param sessionWrapper The session wrapper object to set for the dashboard
17
+ */
18
+ export var setDashboardSessionWrapper = (id, sessionWrapper) => dispatch => dispatch(updateDashboardData(id, {
19
+ sessionWrapper
20
+ }));
21
+
22
+ /**
23
+ * Set the links for a given dashboard
24
+ * @param id The ID of the dashboard to set the links for
25
+ * @param links The links to set
26
+ */
27
+ export var setDashboardLinks = (id, links) => dispatch => dispatch(updateDashboardData(id, {
28
+ links
29
+ }));
30
+
31
+ /**
32
+ * Add links to the existing links in a dashboard. Filters out any duplicate links.
33
+ * @param id The ID of the dashboard to add links to
34
+ * @param newLinks The new links to add
35
+ */
36
+ export var addDashboardLinks = (id, newLinks) => (dispatch, getState) => {
37
+ var links = getLinksForDashboard(getState(), id);
38
+ var filtered = newLinks.filter(newLink => links.findIndex(link => deepEqual(link.start, newLink.start) && deepEqual(link.end, newLink.end)) < 0);
39
+ return dispatch(setDashboardLinks(id, links.concat(filtered)));
40
+ };
41
+
42
+ /**
43
+ * Delete links from a dashboard
44
+ * @param id The ID of the dashboard to delete links from
45
+ * @param linkIds The link IDs to delete
46
+ */
47
+ export var deleteDashboardLinks = (id, linkIds) => (dispatch, getState) => {
48
+ var links = getLinksForDashboard(getState(), id);
49
+ var newLinks = links.filter(link => !linkIds.includes(link.id));
50
+ return dispatch(setDashboardLinks(id, newLinks));
51
+ };
52
+
53
+ /**
54
+ * Set the isolated linker panel ID for a dashboard
55
+ * @param id The ID of the dashboard to set the isolated linker panel ID in
56
+ * @param isolatedLinkerPanelId The isolated panel ID, or undefined to unset
57
+ */
58
+ export var setDashboardIsolatedLinkerPanelId = (id, isolatedLinkerPanelId) => dispatch => dispatch(updateDashboardData(id, {
59
+ isolatedLinkerPanelId
60
+ }));
61
+
62
+ /**
63
+ * Set the column selection validator for a dashboard
64
+ * @param id The ID of the dashboard to set the column selection validator on
65
+ * @param columnSelectionValidator The column selection validator to set
66
+ */
67
+ export var setDashboardColumnSelectionValidator = (id, columnSelectionValidator) => dispatch => dispatch(updateDashboardData(id, {
68
+ columnSelectionValidator
69
+ }));
70
+
71
+ /**
72
+ * Set the console settings for a dashboard
73
+ * @param id The ID of the dashboard to set the console settings on
74
+ * @param consoleSettings The console settings to set for the dashboard
75
+ */
76
+ export var setDashboardConsoleSettings = (id, consoleSettings) => dispatch => dispatch(updateDashboardData(id, {
77
+ consoleSettings
78
+ }));
79
+
80
+ /**
81
+ * Set the filter sets for a specific dashboard
82
+ * @param id The ID of the dashboard to set the filter sets for
83
+ * @param filterSets The filter sets to set
84
+ */
85
+ export var setDashboardFilterSets = (id, filterSets) => dispatch => dispatch(updateDashboardData(id, {
86
+ filterSets
87
+ }));
88
+ //# sourceMappingURL=actions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"actions.js","names":["deepEqual","updateDashboardData","getLinksForDashboard","setDashboardConnection","id","connection","dispatch","setDashboardSessionWrapper","sessionWrapper","setDashboardLinks","links","addDashboardLinks","newLinks","getState","filtered","filter","newLink","findIndex","link","start","end","concat","deleteDashboardLinks","linkIds","includes","setDashboardIsolatedLinkerPanelId","isolatedLinkerPanelId","setDashboardColumnSelectionValidator","columnSelectionValidator","setDashboardConsoleSettings","consoleSettings","setDashboardFilterSets","filterSets"],"sources":["../../src/redux/actions.ts"],"sourcesContent":["import deepEqual from 'deep-equal';\nimport { ThunkAction } from 'redux-thunk';\nimport { updateDashboardData } from '@deephaven/dashboard';\nimport { SessionWrapper } from '@deephaven/jsapi-utils';\nimport { RootState } from '@deephaven/redux';\nimport { Action } from 'redux';\nimport type { IdeConnection } from '@deephaven/jsapi-types';\nimport { getLinksForDashboard } from './selectors';\nimport { FilterSet } from '../panels';\nimport { Link } from '../linker/LinkerUtils';\nimport { ColumnSelectionValidator } from '../linker/ColumnSelectionValidator';\n\n/**\n * Set the connection for the dashboard specified\n * @param id The ID of the dashboard to set the connection for\n * @param connection The connection object to set for the dashboard\n */\nexport const setDashboardConnection = (\n id: string,\n connection: IdeConnection\n): ThunkAction<unknown, RootState, undefined, Action<unknown>> => dispatch =>\n dispatch(updateDashboardData(id, { connection }));\n\n/**\n * Set the session wrapper for the dashboard specified\n * @param id The ID of the dashboard to set the session for\n * @param sessionWrapper The session wrapper object to set for the dashboard\n */\nexport const setDashboardSessionWrapper = (\n id: string,\n sessionWrapper: SessionWrapper\n): ThunkAction<unknown, RootState, undefined, Action<unknown>> => dispatch =>\n dispatch(updateDashboardData(id, { sessionWrapper }));\n\n/**\n * Set the links for a given dashboard\n * @param id The ID of the dashboard to set the links for\n * @param links The links to set\n */\nexport const setDashboardLinks = (\n id: string,\n links: Link[]\n): ThunkAction<unknown, RootState, undefined, Action<unknown>> => dispatch =>\n dispatch(updateDashboardData(id, { links }));\n\n/**\n * Add links to the existing links in a dashboard. Filters out any duplicate links.\n * @param id The ID of the dashboard to add links to\n * @param newLinks The new links to add\n */\nexport const addDashboardLinks = (\n id: string,\n newLinks: Link[]\n): ThunkAction<unknown, RootState, undefined, Action<unknown>> => (\n dispatch,\n getState\n) => {\n const links = getLinksForDashboard(getState(), id);\n const filtered = newLinks.filter(\n newLink =>\n links.findIndex(\n link =>\n deepEqual(link.start, newLink.start) &&\n deepEqual(link.end, newLink.end)\n ) < 0\n );\n return dispatch(setDashboardLinks(id, links.concat(filtered)));\n};\n\n/**\n * Delete links from a dashboard\n * @param id The ID of the dashboard to delete links from\n * @param linkIds The link IDs to delete\n */\nexport const deleteDashboardLinks = (\n id: string,\n linkIds: string[]\n): ThunkAction<unknown, RootState, undefined, Action<unknown>> => (\n dispatch,\n getState\n) => {\n const links = getLinksForDashboard(getState(), id);\n const newLinks = links.filter(link => !linkIds.includes(link.id));\n return dispatch(setDashboardLinks(id, newLinks));\n};\n\n/**\n * Set the isolated linker panel ID for a dashboard\n * @param id The ID of the dashboard to set the isolated linker panel ID in\n * @param isolatedLinkerPanelId The isolated panel ID, or undefined to unset\n */\nexport const setDashboardIsolatedLinkerPanelId = (\n id: string,\n isolatedLinkerPanelId: string | string[] | undefined\n): ThunkAction<unknown, RootState, undefined, Action<unknown>> => dispatch =>\n dispatch(updateDashboardData(id, { isolatedLinkerPanelId }));\n\n/**\n * Set the column selection validator for a dashboard\n * @param id The ID of the dashboard to set the column selection validator on\n * @param columnSelectionValidator The column selection validator to set\n */\nexport const setDashboardColumnSelectionValidator = (\n id: string,\n columnSelectionValidator: ColumnSelectionValidator | undefined\n): ThunkAction<unknown, RootState, undefined, Action<unknown>> => dispatch =>\n dispatch(updateDashboardData(id, { columnSelectionValidator }));\n\n/**\n * Set the console settings for a dashboard\n * @param id The ID of the dashboard to set the console settings on\n * @param consoleSettings The console settings to set for the dashboard\n */\nexport const setDashboardConsoleSettings = (\n id: string,\n consoleSettings: Record<string, unknown>\n): ThunkAction<unknown, RootState, undefined, Action<unknown>> => dispatch =>\n dispatch(updateDashboardData(id, { consoleSettings }));\n\n/**\n * Set the filter sets for a specific dashboard\n * @param id The ID of the dashboard to set the filter sets for\n * @param filterSets The filter sets to set\n */\nexport const setDashboardFilterSets = (\n id: string,\n filterSets: FilterSet[]\n): ThunkAction<unknown, RootState, undefined, Action<unknown>> => dispatch =>\n dispatch(updateDashboardData(id, { filterSets }));\n"],"mappings":"AAAA,OAAOA,SAAS,MAAM,YAAY;AAElC,SAASC,mBAAmB,QAAQ,sBAAsB;AAAC,SAKlDC,oBAAoB;AAK7B;AACA;AACA;AACA;AACA;AACA,OAAO,IAAMC,sBAAsB,GAAG,CACpCC,EAAU,EACVC,UAAyB,KACuCC,QAAQ,IACxEA,QAAQ,CAACL,mBAAmB,CAACG,EAAE,EAAE;EAAEC;AAAW,CAAC,CAAC,CAAC;;AAEnD;AACA;AACA;AACA;AACA;AACA,OAAO,IAAME,0BAA0B,GAAG,CACxCH,EAAU,EACVI,cAA8B,KACkCF,QAAQ,IACxEA,QAAQ,CAACL,mBAAmB,CAACG,EAAE,EAAE;EAAEI;AAAe,CAAC,CAAC,CAAC;;AAEvD;AACA;AACA;AACA;AACA;AACA,OAAO,IAAMC,iBAAiB,GAAG,CAC/BL,EAAU,EACVM,KAAa,KACmDJ,QAAQ,IACxEA,QAAQ,CAACL,mBAAmB,CAACG,EAAE,EAAE;EAAEM;AAAM,CAAC,CAAC,CAAC;;AAE9C;AACA;AACA;AACA;AACA;AACA,OAAO,IAAMC,iBAAiB,GAAG,CAC/BP,EAAU,EACVQ,QAAgB,KACgD,CAChEN,QAAQ,EACRO,QAAQ,KACL;EACH,IAAMH,KAAK,GAAGR,oBAAoB,CAACW,QAAQ,EAAE,EAAET,EAAE,CAAC;EAClD,IAAMU,QAAQ,GAAGF,QAAQ,CAACG,MAAM,CAC9BC,OAAO,IACLN,KAAK,CAACO,SAAS,CACbC,IAAI,IACFlB,SAAS,CAACkB,IAAI,CAACC,KAAK,EAAEH,OAAO,CAACG,KAAK,CAAC,IACpCnB,SAAS,CAACkB,IAAI,CAACE,GAAG,EAAEJ,OAAO,CAACI,GAAG,CAAC,CACnC,GAAG,CAAC,CACR;EACD,OAAOd,QAAQ,CAACG,iBAAiB,CAACL,EAAE,EAAEM,KAAK,CAACW,MAAM,CAACP,QAAQ,CAAC,CAAC,CAAC;AAChE,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,OAAO,IAAMQ,oBAAoB,GAAG,CAClClB,EAAU,EACVmB,OAAiB,KAC+C,CAChEjB,QAAQ,EACRO,QAAQ,KACL;EACH,IAAMH,KAAK,GAAGR,oBAAoB,CAACW,QAAQ,EAAE,EAAET,EAAE,CAAC;EAClD,IAAMQ,QAAQ,GAAGF,KAAK,CAACK,MAAM,CAACG,IAAI,IAAI,CAACK,OAAO,CAACC,QAAQ,CAACN,IAAI,CAACd,EAAE,CAAC,CAAC;EACjE,OAAOE,QAAQ,CAACG,iBAAiB,CAACL,EAAE,EAAEQ,QAAQ,CAAC,CAAC;AAClD,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,OAAO,IAAMa,iCAAiC,GAAG,CAC/CrB,EAAU,EACVsB,qBAAoD,KACYpB,QAAQ,IACxEA,QAAQ,CAACL,mBAAmB,CAACG,EAAE,EAAE;EAAEsB;AAAsB,CAAC,CAAC,CAAC;;AAE9D;AACA;AACA;AACA;AACA;AACA,OAAO,IAAMC,oCAAoC,GAAG,CAClDvB,EAAU,EACVwB,wBAA8D,KACEtB,QAAQ,IACxEA,QAAQ,CAACL,mBAAmB,CAACG,EAAE,EAAE;EAAEwB;AAAyB,CAAC,CAAC,CAAC;;AAEjE;AACA;AACA;AACA;AACA;AACA,OAAO,IAAMC,2BAA2B,GAAG,CACzCzB,EAAU,EACV0B,eAAwC,KACwBxB,QAAQ,IACxEA,QAAQ,CAACL,mBAAmB,CAACG,EAAE,EAAE;EAAE0B;AAAgB,CAAC,CAAC,CAAC;;AAExD;AACA;AACA;AACA;AACA;AACA,OAAO,IAAMC,sBAAsB,GAAG,CACpC3B,EAAU,EACV4B,UAAuB,KACyC1B,QAAQ,IACxEA,QAAQ,CAACL,mBAAmB,CAACG,EAAE,EAAE;EAAE4B;AAAW,CAAC,CAAC,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { reducerRegistry } from '@deephaven/redux';
2
+ import reducers from "./reducers/index.js";
3
+ Object.entries(reducers).map(_ref => {
4
+ var [name, reducer] = _ref;
5
+ return reducerRegistry.register(name, reducer);
6
+ });
7
+ export * from "./actions.js";
8
+ export * from "./actionTypes.js";
9
+ export * from "./selectors.js";
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["reducerRegistry","reducers","Object","entries","map","name","reducer","register"],"sources":["../../src/redux/index.ts"],"sourcesContent":["import { reducerRegistry } from '@deephaven/redux';\nimport reducers from './reducers';\n\nObject.entries(reducers).map(([name, reducer]) =>\n reducerRegistry.register(name, reducer)\n);\n\nexport * from './actions';\nexport * from './actionTypes';\nexport * from './selectors';\n"],"mappings":"AAAA,SAASA,eAAe,QAAQ,kBAAkB;AAAC,OAC5CC,QAAQ;AAEfC,MAAM,CAACC,OAAO,CAACF,QAAQ,CAAC,CAACG,GAAG,CAAC;EAAA,IAAC,CAACC,IAAI,EAAEC,OAAO,CAAC;EAAA,OAC3CN,eAAe,CAACO,QAAQ,CAACF,IAAI,EAAEC,OAAO,CAAC;AAAA,EACxC;AAAC;AAAA;AAAA"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Set the active session being used to communicate with the server.
3
+ */
4
+ import { replaceReducer } from '@deephaven/redux';
5
+ import { SET_CONNECTION } from "../actionTypes.js";
6
+ export default replaceReducer(SET_CONNECTION, null);
7
+ //# sourceMappingURL=connection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connection.js","names":["replaceReducer","SET_CONNECTION"],"sources":["../../../src/redux/reducers/connection.ts"],"sourcesContent":["/**\n * Set the active session being used to communicate with the server.\n */\nimport { replaceReducer } from '@deephaven/redux';\nimport { SET_CONNECTION } from '../actionTypes';\n\nexport default replaceReducer(SET_CONNECTION, null);\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,cAAc,QAAQ,kBAAkB;AAAC,SACzCC,cAAc;AAEvB,eAAeD,cAAc,CAACC,cAAc,EAAE,IAAI,CAAC"}
@@ -0,0 +1,5 @@
1
+ import sessionWrapper from "./sessionWrapper.js";
2
+ export default {
3
+ sessionWrapper
4
+ };
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["sessionWrapper"],"sources":["../../../src/redux/reducers/index.ts"],"sourcesContent":["import sessionWrapper from './sessionWrapper';\n\nexport default { sessionWrapper };\n"],"mappings":"OAAOA,cAAc;AAErB,eAAe;EAAEA;AAAe,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Set the active session being used to communicate with the server.
3
+ */
4
+ import { replaceReducer } from '@deephaven/redux';
5
+ import { SET_SESSION_WRAPPER } from "../actionTypes.js";
6
+ export default replaceReducer(SET_SESSION_WRAPPER, null);
7
+ //# sourceMappingURL=sessionWrapper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sessionWrapper.js","names":["replaceReducer","SET_SESSION_WRAPPER"],"sources":["../../../src/redux/reducers/sessionWrapper.ts"],"sourcesContent":["/**\n * Set the active session being used to communicate with the server.\n */\nimport { replaceReducer } from '@deephaven/redux';\nimport { SET_SESSION_WRAPPER } from '../actionTypes';\n\nexport default replaceReducer(SET_SESSION_WRAPPER, null);\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,cAAc,QAAQ,kBAAkB;AAAC,SACzCC,mBAAmB;AAE5B,eAAeD,cAAc,CAACC,mBAAmB,EAAE,IAAI,CAAC"}
@@ -0,0 +1,92 @@
1
+ import { getDashboardData } from '@deephaven/dashboard';
2
+ var EMPTY_MAP = new Map();
3
+ var EMPTY_ARRAY = Object.freeze([]);
4
+
5
+ /**
6
+ * @param store The redux store
7
+ * @param dashboardId The dashboard ID to get data for
8
+ * @returns All column objects found in all panels in this dashboard
9
+ */
10
+ export var getColumnsForDashboard = (store, dashboardId) => {
11
+ var _getDashboardData$col;
12
+ return (_getDashboardData$col = getDashboardData(store, dashboardId).columns) !== null && _getDashboardData$col !== void 0 ? _getDashboardData$col : EMPTY_ARRAY;
13
+ };
14
+
15
+ /**
16
+ * Get the known filter sets for the dashboard.
17
+ * @param store The redux store
18
+ * @param dashboardId The dashboard ID to get data for
19
+ * @returns The filter sets set on this dashboard
20
+ */
21
+ export var getFilterSetsForDashboard = (store, dashboardId) => {
22
+ var _getDashboardData$fil;
23
+ return (_getDashboardData$fil = getDashboardData(store, dashboardId).filterSets) !== null && _getDashboardData$fil !== void 0 ? _getDashboardData$fil : EMPTY_ARRAY;
24
+ };
25
+
26
+ /**
27
+ * @param store The redux store
28
+ * @param dashboardId The dashboard ID to get data for
29
+ * @returns The filters set on this dashboard
30
+ */
31
+ export var getInputFiltersForDashboard = (store, dashboardId) => {
32
+ var _getDashboardData$fil2;
33
+ return (_getDashboardData$fil2 = getDashboardData(store, dashboardId).filters) !== null && _getDashboardData$fil2 !== void 0 ? _getDashboardData$fil2 : EMPTY_ARRAY;
34
+ };
35
+
36
+ /**
37
+ * @param store The redux store
38
+ * @param dashboardId The dashboard ID to get data for
39
+ * @returns Map from panel ID to the table used in that panel
40
+ */
41
+ export var getTableMapForDashboard = (store, dashboardId) => {
42
+ var _getDashboardData$tab;
43
+ return (_getDashboardData$tab = getDashboardData(store, dashboardId).tableMap) !== null && _getDashboardData$tab !== void 0 ? _getDashboardData$tab : EMPTY_MAP;
44
+ };
45
+
46
+ /**
47
+ * @param store The redux store
48
+ * @param dashboardId The dashboard ID to get the data for
49
+ * @returns The panel ID that is isolated, undefined if none is isolated
50
+ */
51
+ export var getIsolatedLinkerPanelIdForDashboard = (store, dashboardId) => getDashboardData(store, dashboardId).isolatedLinkerPanelId;
52
+
53
+ /**
54
+ * @param store The redux store
55
+ * @param dashboardId The dashboard ID to get the data from
56
+ * @returns The links for the dashboard
57
+ */
58
+ export var getLinksForDashboard = (store, dashboardId) => {
59
+ var _getDashboardData$lin;
60
+ return (_getDashboardData$lin = getDashboardData(store, dashboardId).links) !== null && _getDashboardData$lin !== void 0 ? _getDashboardData$lin : EMPTY_ARRAY;
61
+ };
62
+
63
+ /**
64
+ * @param store The redux store
65
+ * @param dashboardId The dashboard ID to get the column selection validators for
66
+ * @returns Column selection validator active on a dashboard
67
+ */
68
+ export var getColumnSelectionValidatorForDashboard = (store, dashboardId) => getDashboardData(store, dashboardId).columnSelectionValidator;
69
+
70
+ /**
71
+ * @param store The redux store
72
+ * @param dashboardId The dashboard ID to get the console settings for
73
+ * @returns Console settings for this dashboard
74
+ */
75
+ export var getDashboardConsoleSettings = (store, dashboardId) => getDashboardData(store, dashboardId).consoleSettings;
76
+
77
+ /**
78
+ *
79
+ * @param store The redux store
80
+ * @param dashboardId The dashboard ID to get the IdeConnection for
81
+ * @returns The connection for the dashboard
82
+ */
83
+ export var getDashboardConnection = (store, dashboardId) => getDashboardData(store, dashboardId).connection;
84
+
85
+ /**
86
+ *
87
+ * @param store The redux store
88
+ * @param dashboardId The dashboard ID to get the SessionWrapper for
89
+ * @returns The session wrapper for the dashboard
90
+ */
91
+ export var getDashboardSessionWrapper = (store, dashboardId) => getDashboardData(store, dashboardId).sessionWrapper;
92
+ //# sourceMappingURL=selectors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"selectors.js","names":["getDashboardData","EMPTY_MAP","Map","EMPTY_ARRAY","Object","freeze","getColumnsForDashboard","store","dashboardId","columns","getFilterSetsForDashboard","filterSets","getInputFiltersForDashboard","filters","getTableMapForDashboard","tableMap","getIsolatedLinkerPanelIdForDashboard","isolatedLinkerPanelId","getLinksForDashboard","links","getColumnSelectionValidatorForDashboard","columnSelectionValidator","getDashboardConsoleSettings","consoleSettings","getDashboardConnection","connection","getDashboardSessionWrapper","sessionWrapper"],"sources":["../../src/redux/selectors.ts"],"sourcesContent":["import { getDashboardData } from '@deephaven/dashboard';\nimport type { Column, IdeConnection, Table } from '@deephaven/jsapi-types';\nimport { SessionWrapper } from '@deephaven/jsapi-utils';\nimport { RootState } from '@deephaven/redux';\nimport { FilterChangeEvent } from '../FilterPlugin';\nimport { Link } from '../linker/LinkerUtils';\nimport { FilterSet } from '../panels';\nimport { ColumnSelectionValidator } from '../linker/ColumnSelectionValidator';\n\nconst EMPTY_MAP = new Map();\n\nconst EMPTY_ARRAY = Object.freeze([]);\n\n/**\n * @param store The redux store\n * @param dashboardId The dashboard ID to get data for\n * @returns All column objects found in all panels in this dashboard\n */\nexport const getColumnsForDashboard = (\n store: RootState,\n dashboardId: string\n): Column[] =>\n (getDashboardData(store, dashboardId).columns ?? EMPTY_ARRAY) as Column[];\n\n/**\n * Get the known filter sets for the dashboard.\n * @param store The redux store\n * @param dashboardId The dashboard ID to get data for\n * @returns The filter sets set on this dashboard\n */\nexport const getFilterSetsForDashboard = (\n store: RootState,\n dashboardId: string\n): FilterSet[] =>\n (getDashboardData(store, dashboardId).filterSets ??\n EMPTY_ARRAY) as FilterSet[];\n\n/**\n * @param store The redux store\n * @param dashboardId The dashboard ID to get data for\n * @returns The filters set on this dashboard\n */\nexport const getInputFiltersForDashboard = (\n store: RootState,\n dashboardId: string\n): FilterChangeEvent[] =>\n (getDashboardData(store, dashboardId).filters ??\n EMPTY_ARRAY) as FilterChangeEvent[];\n\n/**\n * @param store The redux store\n * @param dashboardId The dashboard ID to get data for\n * @returns Map from panel ID to the table used in that panel\n */\nexport const getTableMapForDashboard = (\n store: RootState,\n dashboardId: string\n): Map<string, Table> =>\n (getDashboardData(store, dashboardId).tableMap ?? EMPTY_MAP) as Map<\n string,\n Table\n >;\n\n/**\n * @param store The redux store\n * @param dashboardId The dashboard ID to get the data for\n * @returns The panel ID that is isolated, undefined if none is isolated\n */\nexport const getIsolatedLinkerPanelIdForDashboard = (\n store: RootState,\n dashboardId: string\n): string | undefined =>\n getDashboardData(store, dashboardId).isolatedLinkerPanelId as\n | string\n | undefined;\n\n/**\n * @param store The redux store\n * @param dashboardId The dashboard ID to get the data from\n * @returns The links for the dashboard\n */\nexport const getLinksForDashboard = (\n store: RootState,\n dashboardId: string\n): Link[] =>\n (getDashboardData(store, dashboardId).links ?? EMPTY_ARRAY) as Link[];\n\n/**\n * @param store The redux store\n * @param dashboardId The dashboard ID to get the column selection validators for\n * @returns Column selection validator active on a dashboard\n */\nexport const getColumnSelectionValidatorForDashboard = (\n store: RootState,\n dashboardId: string\n): ColumnSelectionValidator | undefined =>\n getDashboardData(store, dashboardId).columnSelectionValidator as\n | ColumnSelectionValidator\n | undefined;\n\n/**\n * @param store The redux store\n * @param dashboardId The dashboard ID to get the console settings for\n * @returns Console settings for this dashboard\n */\nexport const getDashboardConsoleSettings = (\n store: RootState,\n dashboardId: string\n): Record<string, unknown> =>\n getDashboardData(store, dashboardId).consoleSettings as Record<\n string,\n unknown\n >;\n\n/**\n *\n * @param store The redux store\n * @param dashboardId The dashboard ID to get the IdeConnection for\n * @returns The connection for the dashboard\n */\nexport const getDashboardConnection = (\n store: RootState,\n dashboardId: string\n): IdeConnection =>\n getDashboardData(store, dashboardId).connection as IdeConnection;\n\n/**\n *\n * @param store The redux store\n * @param dashboardId The dashboard ID to get the SessionWrapper for\n * @returns The session wrapper for the dashboard\n */\nexport const getDashboardSessionWrapper = (\n store: RootState,\n dashboardId: string\n): SessionWrapper =>\n getDashboardData(store, dashboardId).sessionWrapper as SessionWrapper;\n"],"mappings":"AAAA,SAASA,gBAAgB,QAAQ,sBAAsB;AASvD,IAAMC,SAAS,GAAG,IAAIC,GAAG,EAAE;AAE3B,IAAMC,WAAW,GAAGC,MAAM,CAACC,MAAM,CAAC,EAAE,CAAC;;AAErC;AACA;AACA;AACA;AACA;AACA,OAAO,IAAMC,sBAAsB,GAAG,CACpCC,KAAgB,EAChBC,WAAmB;EAAA;EAAA,gCAElBR,gBAAgB,CAACO,KAAK,EAAEC,WAAW,CAAC,CAACC,OAAO,yEAAIN,WAAW;AAAA,CAAa;;AAE3E;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,IAAMO,yBAAyB,GAAG,CACvCH,KAAgB,EAChBC,WAAmB;EAAA;EAAA,gCAElBR,gBAAgB,CAACO,KAAK,EAAEC,WAAW,CAAC,CAACG,UAAU,yEAC9CR,WAAW;AAAA,CAAgB;;AAE/B;AACA;AACA;AACA;AACA;AACA,OAAO,IAAMS,2BAA2B,GAAG,CACzCL,KAAgB,EAChBC,WAAmB;EAAA;EAAA,iCAElBR,gBAAgB,CAACO,KAAK,EAAEC,WAAW,CAAC,CAACK,OAAO,2EAC3CV,WAAW;AAAA,CAAwB;;AAEvC;AACA;AACA;AACA;AACA;AACA,OAAO,IAAMW,uBAAuB,GAAG,CACrCP,KAAgB,EAChBC,WAAmB;EAAA;EAAA,gCAElBR,gBAAgB,CAACO,KAAK,EAAEC,WAAW,CAAC,CAACO,QAAQ,yEAAId,SAAS;AAAA,CAG1D;;AAEH;AACA;AACA;AACA;AACA;AACA,OAAO,IAAMe,oCAAoC,GAAG,CAClDT,KAAgB,EAChBC,WAAmB,KAEnBR,gBAAgB,CAACO,KAAK,EAAEC,WAAW,CAAC,CAACS,qBAExB;;AAEf;AACA;AACA;AACA;AACA;AACA,OAAO,IAAMC,oBAAoB,GAAG,CAClCX,KAAgB,EAChBC,WAAmB;EAAA;EAAA,gCAElBR,gBAAgB,CAACO,KAAK,EAAEC,WAAW,CAAC,CAACW,KAAK,yEAAIhB,WAAW;AAAA,CAAW;;AAEvE;AACA;AACA;AACA;AACA;AACA,OAAO,IAAMiB,uCAAuC,GAAG,CACrDb,KAAgB,EAChBC,WAAmB,KAEnBR,gBAAgB,CAACO,KAAK,EAAEC,WAAW,CAAC,CAACa,wBAExB;;AAEf;AACA;AACA;AACA;AACA;AACA,OAAO,IAAMC,2BAA2B,GAAG,CACzCf,KAAgB,EAChBC,WAAmB,KAEnBR,gBAAgB,CAACO,KAAK,EAAEC,WAAW,CAAC,CAACe,eAGpC;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,IAAMC,sBAAsB,GAAG,CACpCjB,KAAgB,EAChBC,WAAmB,KAEnBR,gBAAgB,CAACO,KAAK,EAAEC,WAAW,CAAC,CAACiB,UAA2B;;AAElE;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,IAAMC,0BAA0B,GAAG,CACxCnB,KAAgB,EAChBC,WAAmB,KAEnBR,gBAAgB,CAACO,KAAK,EAAEC,WAAW,CAAC,CAACmB,cAAgC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@deephaven/dashboard-core-plugins",
3
- "version": "0.43.0",
3
+ "version": "0.44.0",
4
4
  "description": "Deephaven Dashboard Core Plugins",
5
5
  "author": "Deephaven Data Labs LLC",
6
6
  "license": "Apache-2.0",
@@ -22,24 +22,24 @@
22
22
  "build:sass": "sass --embed-sources --load-path=../../node_modules ./src:./dist"
23
23
  },
24
24
  "dependencies": {
25
- "@deephaven/chart": "^0.43.0",
26
- "@deephaven/components": "^0.43.0",
27
- "@deephaven/console": "^0.43.0",
28
- "@deephaven/dashboard": "^0.43.0",
29
- "@deephaven/file-explorer": "^0.43.0",
30
- "@deephaven/filters": "^0.43.0",
31
- "@deephaven/golden-layout": "^0.43.0",
32
- "@deephaven/grid": "^0.43.0",
33
- "@deephaven/icons": "^0.43.0",
34
- "@deephaven/iris-grid": "^0.43.0",
35
- "@deephaven/jsapi-bootstrap": "^0.43.0",
36
- "@deephaven/jsapi-types": "^0.43.0",
37
- "@deephaven/jsapi-utils": "^0.43.0",
38
- "@deephaven/log": "^0.43.0",
39
- "@deephaven/react-hooks": "^0.43.0",
40
- "@deephaven/redux": "^0.43.0",
41
- "@deephaven/storage": "^0.43.0",
42
- "@deephaven/utils": "^0.43.0",
25
+ "@deephaven/chart": "^0.44.0",
26
+ "@deephaven/components": "^0.44.0",
27
+ "@deephaven/console": "^0.44.0",
28
+ "@deephaven/dashboard": "^0.44.0",
29
+ "@deephaven/file-explorer": "^0.44.0",
30
+ "@deephaven/filters": "^0.44.0",
31
+ "@deephaven/golden-layout": "^0.44.0",
32
+ "@deephaven/grid": "^0.44.0",
33
+ "@deephaven/icons": "^0.44.0",
34
+ "@deephaven/iris-grid": "^0.44.0",
35
+ "@deephaven/jsapi-bootstrap": "^0.44.0",
36
+ "@deephaven/jsapi-types": "^0.44.0",
37
+ "@deephaven/jsapi-utils": "^0.44.0",
38
+ "@deephaven/log": "^0.44.0",
39
+ "@deephaven/react-hooks": "^0.44.0",
40
+ "@deephaven/redux": "^0.44.0",
41
+ "@deephaven/storage": "^0.44.0",
42
+ "@deephaven/utils": "^0.44.0",
43
43
  "@fortawesome/react-fontawesome": "^0.2.0",
44
44
  "classnames": "^2.3.1",
45
45
  "deep-equal": "^2.0.5",
@@ -62,8 +62,8 @@
62
62
  "react-redux": "^7.2.4"
63
63
  },
64
64
  "devDependencies": {
65
- "@deephaven/jsapi-shim": "^0.43.0",
66
- "@deephaven/mocks": "^0.43.0"
65
+ "@deephaven/jsapi-shim": "^0.44.0",
66
+ "@deephaven/mocks": "^0.44.0"
67
67
  },
68
68
  "files": [
69
69
  "dist"
@@ -74,5 +74,5 @@
74
74
  "publishConfig": {
75
75
  "access": "public"
76
76
  },
77
- "gitHead": "b16776b5bdc15a02cd2897cd79d562ea38c60ed8"
77
+ "gitHead": "ba13c9139b3b7a5f5d64d79069f1de9d4727eeb6"
78
78
  }