@finos/legend-data-cube 0.0.37 → 0.0.39

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 (534) hide show
  1. package/lib/__lib__/DataCubeDocumentation.d.ts +7 -7
  2. package/lib/__lib__/DataCubeDocumentation.d.ts.map +1 -1
  3. package/lib/__lib__/DataCubeDocumentation.js +9 -9
  4. package/lib/__lib__/DataCubeDocumentation.js.map +1 -1
  5. package/lib/__lib__/DataCubeSetting.d.ts +24 -0
  6. package/lib/__lib__/DataCubeSetting.d.ts.map +1 -0
  7. package/lib/{stores/core → __lib__}/DataCubeSetting.js +5 -16
  8. package/lib/__lib__/DataCubeSetting.js.map +1 -0
  9. package/lib/components/DataCube.d.ts +1 -1
  10. package/lib/components/DataCube.d.ts.map +1 -1
  11. package/lib/components/DataCube.js +30 -38
  12. package/lib/components/DataCube.js.map +1 -1
  13. package/lib/components/DataCubePlaceholder.d.ts +40 -0
  14. package/lib/components/DataCubePlaceholder.d.ts.map +1 -0
  15. package/lib/components/DataCubePlaceholder.js +34 -0
  16. package/lib/components/DataCubePlaceholder.js.map +1 -0
  17. package/lib/components/DataCubeStatusBar.d.ts +24 -0
  18. package/lib/components/DataCubeStatusBar.d.ts.map +1 -0
  19. package/lib/components/DataCubeStatusBar.js +30 -0
  20. package/lib/components/DataCubeStatusBar.js.map +1 -0
  21. package/lib/components/DataCubeTitleBar.d.ts +24 -0
  22. package/lib/components/DataCubeTitleBar.d.ts.map +1 -0
  23. package/lib/components/DataCubeTitleBar.js +36 -0
  24. package/lib/components/DataCubeTitleBar.js.map +1 -0
  25. package/lib/components/DataCubeView.d.ts.map +1 -1
  26. package/lib/components/DataCubeView.js +10 -12
  27. package/lib/components/DataCubeView.js.map +1 -1
  28. package/lib/components/core/DataCubeAlert.d.ts +1 -22
  29. package/lib/components/core/DataCubeAlert.d.ts.map +1 -1
  30. package/lib/components/core/DataCubeAlert.js +2 -55
  31. package/lib/components/core/DataCubeAlert.js.map +1 -1
  32. package/lib/components/core/DataCubeDocumentationPanel.js +1 -1
  33. package/lib/components/core/DataCubeDocumentationPanel.js.map +1 -1
  34. package/lib/components/core/DataCubeFormUtils.d.ts.map +1 -1
  35. package/lib/components/core/DataCubeFormUtils.js +8 -8
  36. package/lib/components/core/DataCubeFormUtils.js.map +1 -1
  37. package/lib/components/core/{DataCubeLayoutManager.d.ts → DataCubeLayout.d.ts} +5 -5
  38. package/lib/components/core/DataCubeLayout.d.ts.map +1 -0
  39. package/lib/components/core/{DataCubeLayoutManager.js → DataCubeLayout.js} +14 -5
  40. package/lib/components/core/DataCubeLayout.js.map +1 -0
  41. package/lib/components/core/DataCubePureCodeEditorUtils.d.ts +3 -2
  42. package/lib/components/core/DataCubePureCodeEditorUtils.d.ts.map +1 -1
  43. package/lib/components/core/DataCubePureCodeEditorUtils.js +2 -2
  44. package/lib/components/core/DataCubePureCodeEditorUtils.js.map +1 -1
  45. package/lib/components/core/DataCubeSettingsPanel.js +8 -8
  46. package/lib/components/core/DataCubeSettingsPanel.js.map +1 -1
  47. package/lib/components/view/editor/DataCubeEditor.d.ts.map +1 -1
  48. package/lib/components/view/editor/DataCubeEditor.js +5 -3
  49. package/lib/components/view/editor/DataCubeEditor.js.map +1 -1
  50. package/lib/components/view/editor/DataCubeEditorColumnPropertiesPanel.d.ts.map +1 -1
  51. package/lib/components/view/editor/DataCubeEditorColumnPropertiesPanel.js +15 -14
  52. package/lib/components/view/editor/DataCubeEditorColumnPropertiesPanel.js.map +1 -1
  53. package/lib/components/view/editor/DataCubeEditorColumnsPanel.d.ts.map +1 -1
  54. package/lib/components/view/editor/DataCubeEditorColumnsPanel.js +6 -5
  55. package/lib/components/view/editor/DataCubeEditorColumnsPanel.js.map +1 -1
  56. package/lib/components/view/editor/DataCubeEditorGeneralPropertiesPanel.js +2 -2
  57. package/lib/components/view/editor/DataCubeEditorGeneralPropertiesPanel.js.map +1 -1
  58. package/lib/components/view/extend/DataCubeColumnEditor.d.ts.map +1 -1
  59. package/lib/components/view/extend/DataCubeColumnEditor.js +13 -11
  60. package/lib/components/view/extend/DataCubeColumnEditor.js.map +1 -1
  61. package/lib/components/view/filter/DataCubeFilterEditor.d.ts.map +1 -1
  62. package/lib/components/view/filter/DataCubeFilterEditor.js +4 -2
  63. package/lib/components/view/filter/DataCubeFilterEditor.js.map +1 -1
  64. package/lib/index.css +1 -1
  65. package/lib/index.d.ts +14 -11
  66. package/lib/index.d.ts.map +1 -1
  67. package/lib/index.js +14 -11
  68. package/lib/index.js.map +1 -1
  69. package/lib/package.json +3 -3
  70. package/lib/stores/DataCubeAPI.d.ts +36 -3
  71. package/lib/stores/DataCubeAPI.d.ts.map +1 -1
  72. package/lib/stores/DataCubeAPI.js +29 -1
  73. package/lib/stores/DataCubeAPI.js.map +1 -1
  74. package/lib/stores/DataCubeOptions.d.ts +83 -9
  75. package/lib/stores/DataCubeOptions.d.ts.map +1 -1
  76. package/lib/stores/DataCubeState.d.ts +25 -22
  77. package/lib/stores/DataCubeState.d.ts.map +1 -1
  78. package/lib/stores/DataCubeState.js +55 -62
  79. package/lib/stores/DataCubeState.js.map +1 -1
  80. package/lib/stores/core/DataCubeConfigurationBuilder.d.ts +2 -2
  81. package/lib/stores/core/DataCubeConfigurationBuilder.d.ts.map +1 -1
  82. package/lib/stores/core/DataCubeConfigurationBuilder.js +1 -1
  83. package/lib/stores/core/DataCubeConfigurationBuilder.js.map +1 -1
  84. package/lib/stores/core/DataCubeEngine.d.ts +12 -36
  85. package/lib/stores/core/DataCubeEngine.d.ts.map +1 -1
  86. package/lib/stores/core/DataCubeEngine.js +14 -86
  87. package/lib/stores/core/DataCubeEngine.js.map +1 -1
  88. package/lib/stores/core/DataCubeQueryBuilder.d.ts +2 -2
  89. package/lib/stores/core/DataCubeQueryBuilder.d.ts.map +1 -1
  90. package/lib/stores/core/DataCubeQueryBuilder.js +1 -1
  91. package/lib/stores/core/DataCubeQueryBuilder.js.map +1 -1
  92. package/lib/stores/core/DataCubeQueryBuilderUtils.d.ts +2 -2
  93. package/lib/stores/core/DataCubeQueryBuilderUtils.d.ts.map +1 -1
  94. package/lib/stores/core/DataCubeQueryBuilderUtils.js +2 -2
  95. package/lib/stores/core/DataCubeQueryBuilderUtils.js.map +1 -1
  96. package/lib/stores/core/DataCubeQueryEngine.d.ts +26 -26
  97. package/lib/stores/core/DataCubeQueryEngine.d.ts.map +1 -1
  98. package/lib/stores/core/DataCubeQuerySnapshot.d.ts +2 -2
  99. package/lib/stores/core/DataCubeQuerySnapshot.d.ts.map +1 -1
  100. package/lib/stores/core/DataCubeQuerySnapshotBuilder.d.ts +4 -3
  101. package/lib/stores/core/DataCubeQuerySnapshotBuilder.d.ts.map +1 -1
  102. package/lib/stores/core/DataCubeQuerySnapshotBuilder.js +34 -15
  103. package/lib/stores/core/DataCubeQuerySnapshotBuilder.js.map +1 -1
  104. package/lib/stores/core/DataCubeQuerySnapshotBuilderUtils.d.ts +9 -2
  105. package/lib/stores/core/DataCubeQuerySnapshotBuilderUtils.d.ts.map +1 -1
  106. package/lib/stores/core/DataCubeQuerySnapshotBuilderUtils.js +233 -8
  107. package/lib/stores/core/DataCubeQuerySnapshotBuilderUtils.js.map +1 -1
  108. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation.d.ts +2 -2
  109. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation.d.ts.map +1 -1
  110. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Average.d.ts +2 -2
  111. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Average.d.ts.map +1 -1
  112. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Count.d.ts +2 -2
  113. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Count.d.ts.map +1 -1
  114. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__First.d.ts +2 -2
  115. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__First.d.ts.map +1 -1
  116. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__JoinStrings.d.ts +2 -2
  117. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__JoinStrings.d.ts.map +1 -1
  118. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Last.d.ts +2 -2
  119. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Last.d.ts.map +1 -1
  120. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Max.d.ts +2 -2
  121. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Max.d.ts.map +1 -1
  122. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Min.d.ts +2 -2
  123. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Min.d.ts.map +1 -1
  124. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__StdDevPopulation.d.ts +2 -2
  125. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__StdDevPopulation.d.ts.map +1 -1
  126. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__StdDevSample.d.ts +2 -2
  127. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__StdDevSample.d.ts.map +1 -1
  128. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Sum.d.ts +2 -2
  129. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__Sum.d.ts.map +1 -1
  130. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__UniqueValue.d.ts +2 -2
  131. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__UniqueValue.d.ts.map +1 -1
  132. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__VariancePopulation.d.ts +2 -2
  133. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__VariancePopulation.d.ts.map +1 -1
  134. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__VarianceSample.d.ts +2 -2
  135. package/lib/stores/core/aggregation/DataCubeQueryAggregateOperation__VarianceSample.d.ts.map +1 -1
  136. package/lib/stores/core/filter/DataCubeQueryFilterEditorState.d.ts +1 -1
  137. package/lib/stores/core/filter/DataCubeQueryFilterEditorState.d.ts.map +1 -1
  138. package/lib/stores/core/filter/DataCubeQueryFilterOperation.d.ts +1 -1
  139. package/lib/stores/core/filter/DataCubeQueryFilterOperation.d.ts.map +1 -1
  140. package/lib/stores/core/filter/DataCubeQueryFilterOperation__Contain.d.ts +3 -3
  141. package/lib/stores/core/filter/DataCubeQueryFilterOperation__Contain.d.ts.map +1 -1
  142. package/lib/stores/core/filter/DataCubeQueryFilterOperation__Contain.js +8 -3
  143. package/lib/stores/core/filter/DataCubeQueryFilterOperation__Contain.js.map +1 -1
  144. package/lib/stores/core/filter/DataCubeQueryFilterOperation__ContainCaseInsensitive.d.ts +3 -3
  145. package/lib/stores/core/filter/DataCubeQueryFilterOperation__ContainCaseInsensitive.d.ts.map +1 -1
  146. package/lib/stores/core/filter/DataCubeQueryFilterOperation__ContainCaseInsensitive.js +8 -3
  147. package/lib/stores/core/filter/DataCubeQueryFilterOperation__ContainCaseInsensitive.js.map +1 -1
  148. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EndWith.d.ts +3 -3
  149. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EndWith.d.ts.map +1 -1
  150. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EndWith.js +8 -3
  151. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EndWith.js.map +1 -1
  152. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EndWithCaseInsensitive.d.ts +3 -3
  153. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EndWithCaseInsensitive.d.ts.map +1 -1
  154. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EndWithCaseInsensitive.js +8 -3
  155. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EndWithCaseInsensitive.js.map +1 -1
  156. package/lib/stores/core/filter/DataCubeQueryFilterOperation__Equal.d.ts +4 -3
  157. package/lib/stores/core/filter/DataCubeQueryFilterOperation__Equal.d.ts.map +1 -1
  158. package/lib/stores/core/filter/DataCubeQueryFilterOperation__Equal.js +79 -70
  159. package/lib/stores/core/filter/DataCubeQueryFilterOperation__Equal.js.map +1 -1
  160. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitive.d.ts +3 -3
  161. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitive.d.ts.map +1 -1
  162. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitive.js +8 -3
  163. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitive.js.map +1 -1
  164. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitiveColumn.d.ts +3 -3
  165. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitiveColumn.d.ts.map +1 -1
  166. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitiveColumn.js +11 -3
  167. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitiveColumn.js.map +1 -1
  168. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualColumn.d.ts +3 -3
  169. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualColumn.d.ts.map +1 -1
  170. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualColumn.js +11 -3
  171. package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualColumn.js.map +1 -1
  172. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThan.d.ts +3 -3
  173. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThan.d.ts.map +1 -1
  174. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThan.js +8 -3
  175. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThan.js.map +1 -1
  176. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanColumn.d.ts +3 -3
  177. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanColumn.d.ts.map +1 -1
  178. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanColumn.js +11 -3
  179. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanColumn.js.map +1 -1
  180. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqual.d.ts +3 -3
  181. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqual.d.ts.map +1 -1
  182. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqual.js +8 -3
  183. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqual.js.map +1 -1
  184. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqualColumn.d.ts +3 -3
  185. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqualColumn.d.ts.map +1 -1
  186. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqualColumn.js +11 -3
  187. package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqualColumn.js.map +1 -1
  188. package/lib/stores/core/filter/DataCubeQueryFilterOperation__IsNotNull.d.ts +3 -3
  189. package/lib/stores/core/filter/DataCubeQueryFilterOperation__IsNotNull.d.ts.map +1 -1
  190. package/lib/stores/core/filter/DataCubeQueryFilterOperation__IsNotNull.js +4 -3
  191. package/lib/stores/core/filter/DataCubeQueryFilterOperation__IsNotNull.js.map +1 -1
  192. package/lib/stores/core/filter/DataCubeQueryFilterOperation__IsNull.d.ts +3 -3
  193. package/lib/stores/core/filter/DataCubeQueryFilterOperation__IsNull.d.ts.map +1 -1
  194. package/lib/stores/core/filter/DataCubeQueryFilterOperation__IsNull.js +4 -3
  195. package/lib/stores/core/filter/DataCubeQueryFilterOperation__IsNull.js.map +1 -1
  196. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThan.d.ts +3 -3
  197. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThan.d.ts.map +1 -1
  198. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThan.js +8 -3
  199. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThan.js.map +1 -1
  200. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanColumn.d.ts +3 -3
  201. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanColumn.d.ts.map +1 -1
  202. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanColumn.js +11 -3
  203. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanColumn.js.map +1 -1
  204. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqual.d.ts +3 -3
  205. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqual.d.ts.map +1 -1
  206. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqual.js +8 -3
  207. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqual.js.map +1 -1
  208. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqualColumn.d.ts +3 -3
  209. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqualColumn.d.ts.map +1 -1
  210. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqualColumn.js +11 -3
  211. package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqualColumn.js.map +1 -1
  212. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotContain.d.ts +3 -3
  213. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotContain.d.ts.map +1 -1
  214. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotContain.js +8 -3
  215. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotContain.js.map +1 -1
  216. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEndWith.d.ts +3 -3
  217. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEndWith.d.ts.map +1 -1
  218. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEndWith.js +8 -3
  219. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEndWith.js.map +1 -1
  220. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqual.d.ts +3 -3
  221. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqual.d.ts.map +1 -1
  222. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqual.js +8 -3
  223. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqual.js.map +1 -1
  224. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitive.d.ts +3 -3
  225. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitive.d.ts.map +1 -1
  226. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitive.js +8 -3
  227. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitive.js.map +1 -1
  228. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitiveColumn.d.ts +3 -3
  229. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitiveColumn.d.ts.map +1 -1
  230. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitiveColumn.js +11 -3
  231. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitiveColumn.js.map +1 -1
  232. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualColumn.d.ts +3 -3
  233. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualColumn.d.ts.map +1 -1
  234. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualColumn.js +11 -3
  235. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualColumn.js.map +1 -1
  236. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotStartWith.d.ts +3 -3
  237. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotStartWith.d.ts.map +1 -1
  238. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotStartWith.js +8 -3
  239. package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotStartWith.js.map +1 -1
  240. package/lib/stores/core/filter/DataCubeQueryFilterOperation__StartWith.d.ts +3 -3
  241. package/lib/stores/core/filter/DataCubeQueryFilterOperation__StartWith.d.ts.map +1 -1
  242. package/lib/stores/core/filter/DataCubeQueryFilterOperation__StartWith.js +8 -3
  243. package/lib/stores/core/filter/DataCubeQueryFilterOperation__StartWith.js.map +1 -1
  244. package/lib/stores/core/filter/DataCubeQueryFilterOperation__StartWithCaseInsensitive.d.ts +3 -3
  245. package/lib/stores/core/filter/DataCubeQueryFilterOperation__StartWithCaseInsensitive.d.ts.map +1 -1
  246. package/lib/stores/core/filter/DataCubeQueryFilterOperation__StartWithCaseInsensitive.js +8 -3
  247. package/lib/stores/core/filter/DataCubeQueryFilterOperation__StartWithCaseInsensitive.js.map +1 -1
  248. package/lib/stores/core/model/AdhocQueryDataCubeSource.d.ts.map +1 -0
  249. package/lib/stores/core/model/AdhocQueryDataCubeSource.js.map +1 -0
  250. package/lib/stores/core/model/DataCubeColumn.d.ts.map +1 -0
  251. package/lib/stores/core/model/DataCubeColumn.js.map +1 -0
  252. package/lib/stores/core/model/DataCubeConfiguration.d.ts.map +1 -0
  253. package/lib/stores/core/model/DataCubeConfiguration.js.map +1 -0
  254. package/lib/stores/core/model/DataCubeQuery.d.ts.map +1 -0
  255. package/lib/stores/core/model/DataCubeQuery.js.map +1 -0
  256. package/lib/stores/core/model/DataCubeSource.d.ts.map +1 -0
  257. package/lib/stores/core/model/DataCubeSource.js.map +1 -0
  258. package/lib/stores/services/DataCubeAlertService.d.ts +56 -0
  259. package/lib/stores/services/DataCubeAlertService.d.ts.map +1 -0
  260. package/lib/stores/services/DataCubeAlertService.js +89 -0
  261. package/lib/stores/services/DataCubeAlertService.js.map +1 -0
  262. package/lib/stores/services/DataCubeDocumentationService.d.ts +29 -0
  263. package/lib/stores/services/DataCubeDocumentationService.d.ts.map +1 -0
  264. package/lib/stores/services/DataCubeDocumentationService.js +41 -0
  265. package/lib/stores/services/DataCubeDocumentationService.js.map +1 -0
  266. package/lib/stores/{core/DataCubeLayoutManagerState.d.ts → services/DataCubeLayoutService.d.ts} +28 -7
  267. package/lib/stores/services/DataCubeLayoutService.d.ts.map +1 -0
  268. package/lib/stores/{core/DataCubeLayoutManagerState.js → services/DataCubeLayoutService.js} +58 -21
  269. package/lib/stores/services/DataCubeLayoutService.js.map +1 -0
  270. package/lib/stores/services/DataCubeLogService.d.ts +29 -0
  271. package/lib/stores/services/DataCubeLogService.d.ts.map +1 -0
  272. package/lib/stores/services/DataCubeLogService.js +43 -0
  273. package/lib/stores/services/DataCubeLogService.js.map +1 -0
  274. package/lib/stores/services/DataCubeNavigationService.d.ts +22 -0
  275. package/lib/stores/services/DataCubeNavigationService.d.ts.map +1 -0
  276. package/lib/stores/services/DataCubeNavigationService.js +25 -0
  277. package/lib/stores/services/DataCubeNavigationService.js.map +1 -0
  278. package/lib/stores/{view/DataCubeQuerySnapshotManager.d.ts → services/DataCubeQuerySnapshotService.d.ts} +18 -13
  279. package/lib/stores/services/DataCubeQuerySnapshotService.d.ts.map +1 -0
  280. package/lib/stores/{view/DataCubeQuerySnapshotManager.js → services/DataCubeQuerySnapshotService.js} +36 -30
  281. package/lib/stores/services/DataCubeQuerySnapshotService.js.map +1 -0
  282. package/lib/stores/services/DataCubeSettingService.d.ts +75 -0
  283. package/lib/stores/services/DataCubeSettingService.d.ts.map +1 -0
  284. package/lib/stores/{DataCubeSettings.js → services/DataCubeSettingService.js} +99 -51
  285. package/lib/stores/services/DataCubeSettingService.js.map +1 -0
  286. package/lib/stores/services/DataCubeTaskService.d.ts +41 -0
  287. package/lib/stores/services/DataCubeTaskService.d.ts.map +1 -0
  288. package/lib/stores/services/DataCubeTaskService.js +84 -0
  289. package/lib/stores/services/DataCubeTaskService.js.map +1 -0
  290. package/lib/stores/services/DataCubeTelemetryService.d.ts +23 -0
  291. package/lib/stores/services/DataCubeTelemetryService.d.ts.map +1 -0
  292. package/lib/stores/services/DataCubeTelemetryService.js +25 -0
  293. package/lib/stores/services/DataCubeTelemetryService.js.map +1 -0
  294. package/lib/stores/view/DataCubeInfoState.d.ts +2 -1
  295. package/lib/stores/view/DataCubeInfoState.d.ts.map +1 -1
  296. package/lib/stores/view/DataCubeInfoState.js +10 -4
  297. package/lib/stores/view/DataCubeInfoState.js.map +1 -1
  298. package/lib/stores/view/DataCubeViewState.d.ts +19 -18
  299. package/lib/stores/view/DataCubeViewState.d.ts.map +1 -1
  300. package/lib/stores/view/DataCubeViewState.js +43 -44
  301. package/lib/stores/view/DataCubeViewState.js.map +1 -1
  302. package/lib/stores/view/editor/DataCubeEditorColumnPropertiesPanelState.d.ts +2 -4
  303. package/lib/stores/view/editor/DataCubeEditorColumnPropertiesPanelState.d.ts.map +1 -1
  304. package/lib/stores/view/editor/DataCubeEditorColumnPropertiesPanelState.js +3 -5
  305. package/lib/stores/view/editor/DataCubeEditorColumnPropertiesPanelState.js.map +1 -1
  306. package/lib/stores/view/editor/DataCubeEditorColumnSelectorState.d.ts +1 -3
  307. package/lib/stores/view/editor/DataCubeEditorColumnSelectorState.d.ts.map +1 -1
  308. package/lib/stores/view/editor/DataCubeEditorColumnSelectorState.js +3 -5
  309. package/lib/stores/view/editor/DataCubeEditorColumnSelectorState.js.map +1 -1
  310. package/lib/stores/view/editor/DataCubeEditorColumnsPanelState.d.ts +2 -4
  311. package/lib/stores/view/editor/DataCubeEditorColumnsPanelState.d.ts.map +1 -1
  312. package/lib/stores/view/editor/DataCubeEditorColumnsPanelState.js +15 -17
  313. package/lib/stores/view/editor/DataCubeEditorColumnsPanelState.js.map +1 -1
  314. package/lib/stores/view/editor/DataCubeEditorGeneralPropertiesPanelState.d.ts +1 -4
  315. package/lib/stores/view/editor/DataCubeEditorGeneralPropertiesPanelState.d.ts.map +1 -1
  316. package/lib/stores/view/editor/DataCubeEditorGeneralPropertiesPanelState.js +0 -4
  317. package/lib/stores/view/editor/DataCubeEditorGeneralPropertiesPanelState.js.map +1 -1
  318. package/lib/stores/view/editor/DataCubeEditorHorizontalPivotsPanelState.d.ts +3 -5
  319. package/lib/stores/view/editor/DataCubeEditorHorizontalPivotsPanelState.d.ts.map +1 -1
  320. package/lib/stores/view/editor/DataCubeEditorHorizontalPivotsPanelState.js +7 -9
  321. package/lib/stores/view/editor/DataCubeEditorHorizontalPivotsPanelState.js.map +1 -1
  322. package/lib/stores/view/editor/DataCubeEditorMutableConfiguration.d.ts +1 -1
  323. package/lib/stores/view/editor/DataCubeEditorMutableConfiguration.d.ts.map +1 -1
  324. package/lib/stores/view/editor/DataCubeEditorMutableConfiguration.js +1 -1
  325. package/lib/stores/view/editor/DataCubeEditorMutableConfiguration.js.map +1 -1
  326. package/lib/stores/view/editor/DataCubeEditorPanelState.d.ts +1 -1
  327. package/lib/stores/view/editor/DataCubeEditorPanelState.d.ts.map +1 -1
  328. package/lib/stores/view/editor/DataCubeEditorPivotLayoutPanelState.d.ts +2 -4
  329. package/lib/stores/view/editor/DataCubeEditorPivotLayoutPanelState.d.ts.map +1 -1
  330. package/lib/stores/view/editor/DataCubeEditorPivotLayoutPanelState.js +3 -5
  331. package/lib/stores/view/editor/DataCubeEditorPivotLayoutPanelState.js.map +1 -1
  332. package/lib/stores/view/editor/DataCubeEditorSortsPanelState.d.ts +1 -4
  333. package/lib/stores/view/editor/DataCubeEditorSortsPanelState.d.ts.map +1 -1
  334. package/lib/stores/view/editor/DataCubeEditorSortsPanelState.js +10 -14
  335. package/lib/stores/view/editor/DataCubeEditorSortsPanelState.js.map +1 -1
  336. package/lib/stores/view/editor/DataCubeEditorState.d.ts +4 -3
  337. package/lib/stores/view/editor/DataCubeEditorState.d.ts.map +1 -1
  338. package/lib/stores/view/editor/DataCubeEditorState.js +11 -9
  339. package/lib/stores/view/editor/DataCubeEditorState.js.map +1 -1
  340. package/lib/stores/view/editor/DataCubeEditorVerticalPivotsPanelState.d.ts +1 -4
  341. package/lib/stores/view/editor/DataCubeEditorVerticalPivotsPanelState.d.ts.map +1 -1
  342. package/lib/stores/view/editor/DataCubeEditorVerticalPivotsPanelState.js +4 -8
  343. package/lib/stores/view/editor/DataCubeEditorVerticalPivotsPanelState.js.map +1 -1
  344. package/lib/stores/view/extend/DataCubeColumnEditorState.d.ts +4 -4
  345. package/lib/stores/view/extend/DataCubeColumnEditorState.d.ts.map +1 -1
  346. package/lib/stores/view/extend/DataCubeColumnEditorState.js +17 -17
  347. package/lib/stores/view/extend/DataCubeColumnEditorState.js.map +1 -1
  348. package/lib/stores/view/extend/DataCubeExtendManagerState.d.ts +7 -6
  349. package/lib/stores/view/extend/DataCubeExtendManagerState.d.ts.map +1 -1
  350. package/lib/stores/view/extend/DataCubeExtendManagerState.js +18 -20
  351. package/lib/stores/view/extend/DataCubeExtendManagerState.js.map +1 -1
  352. package/lib/stores/view/filter/DataCubeFilterEditorState.d.ts +4 -3
  353. package/lib/stores/view/filter/DataCubeFilterEditorState.d.ts.map +1 -1
  354. package/lib/stores/view/filter/DataCubeFilterEditorState.js +8 -6
  355. package/lib/stores/view/filter/DataCubeFilterEditorState.js.map +1 -1
  356. package/lib/stores/view/grid/DataCubeGridClientEngine.d.ts +5 -3
  357. package/lib/stores/view/grid/DataCubeGridClientEngine.d.ts.map +1 -1
  358. package/lib/stores/view/grid/DataCubeGridClientEngine.js +42 -35
  359. package/lib/stores/view/grid/DataCubeGridClientEngine.js.map +1 -1
  360. package/lib/stores/view/grid/DataCubeGridClientExportEngine.d.ts +1 -3
  361. package/lib/stores/view/grid/DataCubeGridClientExportEngine.d.ts.map +1 -1
  362. package/lib/stores/view/grid/DataCubeGridClientExportEngine.js +7 -9
  363. package/lib/stores/view/grid/DataCubeGridClientExportEngine.js.map +1 -1
  364. package/lib/stores/view/grid/DataCubeGridConfigurationBuilder.d.ts +2 -2
  365. package/lib/stores/view/grid/DataCubeGridConfigurationBuilder.d.ts.map +1 -1
  366. package/lib/stores/view/grid/DataCubeGridConfigurationBuilder.js +5 -5
  367. package/lib/stores/view/grid/DataCubeGridConfigurationBuilder.js.map +1 -1
  368. package/lib/stores/view/grid/DataCubeGridControllerState.d.ts +8 -6
  369. package/lib/stores/view/grid/DataCubeGridControllerState.d.ts.map +1 -1
  370. package/lib/stores/view/grid/DataCubeGridControllerState.js +8 -3
  371. package/lib/stores/view/grid/DataCubeGridControllerState.js.map +1 -1
  372. package/lib/stores/view/grid/DataCubeGridMenuBuilder.d.ts.map +1 -1
  373. package/lib/stores/view/grid/DataCubeGridMenuBuilder.js +7 -7
  374. package/lib/stores/view/grid/DataCubeGridMenuBuilder.js.map +1 -1
  375. package/lib/stores/view/grid/DataCubeGridQueryBuilder.d.ts +1 -1
  376. package/lib/stores/view/grid/DataCubeGridQueryBuilder.d.ts.map +1 -1
  377. package/lib/stores/view/grid/DataCubeGridQueryBuilder.js +1 -1
  378. package/lib/stores/view/grid/DataCubeGridQueryBuilder.js.map +1 -1
  379. package/lib/stores/view/grid/DataCubeGridQuerySnapshotBuilder.d.ts +2 -2
  380. package/lib/stores/view/grid/DataCubeGridQuerySnapshotBuilder.d.ts.map +1 -1
  381. package/lib/stores/view/grid/DataCubeGridQuerySnapshotBuilder.js +2 -2
  382. package/lib/stores/view/grid/DataCubeGridQuerySnapshotBuilder.js.map +1 -1
  383. package/lib/stores/view/grid/DataCubeGridState.d.ts +3 -2
  384. package/lib/stores/view/grid/DataCubeGridState.d.ts.map +1 -1
  385. package/lib/stores/view/grid/DataCubeGridState.js +14 -12
  386. package/lib/stores/view/grid/DataCubeGridState.js.map +1 -1
  387. package/package.json +7 -7
  388. package/src/__lib__/DataCubeDocumentation.ts +7 -7
  389. package/src/__lib__/DataCubeSetting.ts +24 -0
  390. package/src/components/DataCube.tsx +55 -85
  391. package/src/components/DataCubePlaceholder.tsx +97 -0
  392. package/src/components/DataCubeStatusBar.tsx +71 -0
  393. package/src/components/DataCubeTitleBar.tsx +81 -0
  394. package/src/components/DataCubeView.tsx +20 -44
  395. package/src/components/core/DataCubeAlert.tsx +5 -99
  396. package/src/components/core/DataCubeDocumentationPanel.tsx +1 -1
  397. package/src/components/core/DataCubeFormUtils.tsx +11 -8
  398. package/src/components/core/{DataCubeLayoutManager.tsx → DataCubeLayout.tsx} +32 -21
  399. package/src/components/core/DataCubePureCodeEditorUtils.tsx +9 -5
  400. package/src/components/core/DataCubeSettingsPanel.tsx +9 -9
  401. package/src/components/view/editor/DataCubeEditor.tsx +6 -3
  402. package/src/components/view/editor/DataCubeEditorColumnPropertiesPanel.tsx +18 -17
  403. package/src/components/view/editor/DataCubeEditorColumnsPanel.tsx +14 -18
  404. package/src/components/view/editor/DataCubeEditorGeneralPropertiesPanel.tsx +2 -2
  405. package/src/components/view/extend/DataCubeColumnEditor.tsx +20 -11
  406. package/src/components/view/filter/DataCubeFilterEditor.tsx +4 -2
  407. package/src/components/view/grid/DataCubeGrid.tsx +1 -1
  408. package/src/index.tsx +23 -12
  409. package/src/stores/DataCubeAPI.ts +58 -3
  410. package/src/stores/DataCubeOptions.ts +101 -12
  411. package/src/stores/DataCubeState.tsx +74 -91
  412. package/src/stores/core/DataCubeConfigurationBuilder.ts +2 -2
  413. package/src/stores/core/DataCubeEngine.tsx +15 -181
  414. package/src/stores/core/DataCubeQueryBuilder.ts +2 -2
  415. package/src/stores/core/DataCubeQueryBuilderUtils.ts +2 -2
  416. package/src/stores/core/DataCubeQueryEngine.ts +27 -27
  417. package/src/stores/core/DataCubeQuerySnapshot.ts +2 -2
  418. package/src/stores/core/DataCubeQuerySnapshotBuilder.ts +54 -15
  419. package/src/stores/core/DataCubeQuerySnapshotBuilderUtils.ts +321 -8
  420. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation.ts +2 -2
  421. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__Average.tsx +2 -2
  422. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__Count.tsx +2 -2
  423. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__First.tsx +2 -2
  424. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__JoinStrings.tsx +2 -2
  425. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__Last.tsx +2 -2
  426. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__Max.tsx +2 -2
  427. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__Min.tsx +2 -2
  428. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__StdDevPopulation.tsx +2 -2
  429. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__StdDevSample.tsx +2 -2
  430. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__Sum.tsx +2 -2
  431. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__UniqueValue.tsx +2 -2
  432. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__VariancePopulation.tsx +2 -2
  433. package/src/stores/core/aggregation/DataCubeQueryAggregateOperation__VarianceSample.tsx +2 -2
  434. package/src/stores/core/filter/DataCubeQueryFilterEditorState.ts +1 -1
  435. package/src/stores/core/filter/DataCubeQueryFilterOperation.ts +1 -1
  436. package/src/stores/core/filter/DataCubeQueryFilterOperation__Contain.tsx +19 -5
  437. package/src/stores/core/filter/DataCubeQueryFilterOperation__ContainCaseInsensitive.tsx +19 -5
  438. package/src/stores/core/filter/DataCubeQueryFilterOperation__EndWith.tsx +19 -5
  439. package/src/stores/core/filter/DataCubeQueryFilterOperation__EndWithCaseInsensitive.tsx +19 -5
  440. package/src/stores/core/filter/DataCubeQueryFilterOperation__Equal.tsx +92 -73
  441. package/src/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitive.tsx +19 -5
  442. package/src/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitiveColumn.tsx +19 -5
  443. package/src/stores/core/filter/DataCubeQueryFilterOperation__EqualColumn.tsx +19 -5
  444. package/src/stores/core/filter/DataCubeQueryFilterOperation__GreaterThan.tsx +19 -5
  445. package/src/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanColumn.tsx +19 -5
  446. package/src/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqual.tsx +19 -5
  447. package/src/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqualColumn.tsx +19 -5
  448. package/src/stores/core/filter/DataCubeQueryFilterOperation__IsNotNull.tsx +12 -5
  449. package/src/stores/core/filter/DataCubeQueryFilterOperation__IsNull.tsx +12 -5
  450. package/src/stores/core/filter/DataCubeQueryFilterOperation__LessThan.tsx +19 -4
  451. package/src/stores/core/filter/DataCubeQueryFilterOperation__LessThanColumn.tsx +19 -5
  452. package/src/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqual.tsx +19 -5
  453. package/src/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqualColumn.tsx +19 -5
  454. package/src/stores/core/filter/DataCubeQueryFilterOperation__NotContain.tsx +19 -5
  455. package/src/stores/core/filter/DataCubeQueryFilterOperation__NotEndWith.tsx +19 -5
  456. package/src/stores/core/filter/DataCubeQueryFilterOperation__NotEqual.tsx +19 -5
  457. package/src/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitive.tsx +19 -5
  458. package/src/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitiveColumn.tsx +19 -5
  459. package/src/stores/core/filter/DataCubeQueryFilterOperation__NotEqualColumn.tsx +19 -5
  460. package/src/stores/core/filter/DataCubeQueryFilterOperation__NotStartWith.tsx +19 -5
  461. package/src/stores/core/filter/DataCubeQueryFilterOperation__StartWith.tsx +19 -5
  462. package/src/stores/core/filter/DataCubeQueryFilterOperation__StartWithCaseInsensitive.tsx +19 -5
  463. package/src/stores/services/DataCubeAlertService.tsx +169 -0
  464. package/src/stores/services/DataCubeDocumentationService.tsx +74 -0
  465. package/src/stores/{core/DataCubeLayoutManagerState.ts → services/DataCubeLayoutService.tsx} +96 -23
  466. package/src/stores/services/DataCubeLogService.ts +54 -0
  467. package/src/stores/services/DataCubeNavigationService.ts +29 -0
  468. package/src/stores/{view/DataCubeQuerySnapshotManager.ts → services/DataCubeQuerySnapshotService.ts} +48 -38
  469. package/src/stores/{DataCubeSettings.tsx → services/DataCubeSettingService.tsx} +155 -87
  470. package/src/stores/services/DataCubeTaskService.ts +102 -0
  471. package/src/stores/services/DataCubeTelemetryService.ts +30 -0
  472. package/src/stores/view/DataCubeInfoState.ts +12 -4
  473. package/src/stores/view/DataCubeViewState.ts +55 -53
  474. package/src/stores/view/editor/DataCubeEditorColumnPropertiesPanelState.ts +4 -6
  475. package/src/stores/view/editor/DataCubeEditorColumnSelectorState.ts +3 -6
  476. package/src/stores/view/editor/DataCubeEditorColumnsPanelState.ts +16 -18
  477. package/src/stores/view/editor/DataCubeEditorGeneralPropertiesPanelState.ts +1 -8
  478. package/src/stores/view/editor/DataCubeEditorHorizontalPivotsPanelState.ts +9 -11
  479. package/src/stores/view/editor/DataCubeEditorMutableConfiguration.ts +1 -1
  480. package/src/stores/view/editor/DataCubeEditorPanelState.ts +1 -1
  481. package/src/stores/view/editor/DataCubeEditorPivotLayoutPanelState.ts +4 -7
  482. package/src/stores/view/editor/DataCubeEditorSortsPanelState.ts +11 -16
  483. package/src/stores/view/editor/DataCubeEditorState.tsx +23 -15
  484. package/src/stores/view/editor/DataCubeEditorVerticalPivotsPanelState.ts +5 -10
  485. package/src/stores/view/extend/DataCubeColumnEditorState.tsx +22 -22
  486. package/src/stores/view/extend/DataCubeExtendManagerState.tsx +39 -30
  487. package/src/stores/view/filter/DataCubeFilterEditorState.tsx +11 -8
  488. package/src/stores/view/grid/DataCubeGridClientEngine.ts +53 -45
  489. package/src/stores/view/grid/DataCubeGridClientExportEngine.ts +7 -10
  490. package/src/stores/view/grid/DataCubeGridConfigurationBuilder.tsx +3 -6
  491. package/src/stores/view/grid/DataCubeGridControllerState.ts +11 -3
  492. package/src/stores/view/grid/DataCubeGridMenuBuilder.tsx +20 -8
  493. package/src/stores/view/grid/DataCubeGridQueryBuilder.ts +2 -2
  494. package/src/stores/view/grid/DataCubeGridQuerySnapshotBuilder.ts +2 -2
  495. package/src/stores/view/grid/DataCubeGridState.ts +24 -15
  496. package/tsconfig.json +19 -10
  497. package/lib/components/core/DataCubeLayoutManager.d.ts.map +0 -1
  498. package/lib/components/core/DataCubeLayoutManager.js.map +0 -1
  499. package/lib/stores/DataCubeSettings.d.ts +0 -45
  500. package/lib/stores/DataCubeSettings.d.ts.map +0 -1
  501. package/lib/stores/DataCubeSettings.js.map +0 -1
  502. package/lib/stores/core/DataCubeLayoutManagerState.d.ts.map +0 -1
  503. package/lib/stores/core/DataCubeLayoutManagerState.js.map +0 -1
  504. package/lib/stores/core/DataCubeSetting.d.ts +0 -51
  505. package/lib/stores/core/DataCubeSetting.d.ts.map +0 -1
  506. package/lib/stores/core/DataCubeSetting.js.map +0 -1
  507. package/lib/stores/core/models/AdhocQueryDataCubeSource.d.ts.map +0 -1
  508. package/lib/stores/core/models/AdhocQueryDataCubeSource.js.map +0 -1
  509. package/lib/stores/core/models/DataCubeColumn.d.ts.map +0 -1
  510. package/lib/stores/core/models/DataCubeColumn.js.map +0 -1
  511. package/lib/stores/core/models/DataCubeConfiguration.d.ts.map +0 -1
  512. package/lib/stores/core/models/DataCubeConfiguration.js.map +0 -1
  513. package/lib/stores/core/models/DataCubeQuery.d.ts.map +0 -1
  514. package/lib/stores/core/models/DataCubeQuery.js.map +0 -1
  515. package/lib/stores/core/models/DataCubeSource.d.ts.map +0 -1
  516. package/lib/stores/core/models/DataCubeSource.js.map +0 -1
  517. package/lib/stores/view/DataCubeQuerySnapshotManager.d.ts.map +0 -1
  518. package/lib/stores/view/DataCubeQuerySnapshotManager.js.map +0 -1
  519. package/src/stores/core/DataCubeSetting.ts +0 -63
  520. /package/lib/stores/core/{models → model}/AdhocQueryDataCubeSource.d.ts +0 -0
  521. /package/lib/stores/core/{models → model}/AdhocQueryDataCubeSource.js +0 -0
  522. /package/lib/stores/core/{models → model}/DataCubeColumn.d.ts +0 -0
  523. /package/lib/stores/core/{models → model}/DataCubeColumn.js +0 -0
  524. /package/lib/stores/core/{models → model}/DataCubeConfiguration.d.ts +0 -0
  525. /package/lib/stores/core/{models → model}/DataCubeConfiguration.js +0 -0
  526. /package/lib/stores/core/{models → model}/DataCubeQuery.d.ts +0 -0
  527. /package/lib/stores/core/{models → model}/DataCubeQuery.js +0 -0
  528. /package/lib/stores/core/{models → model}/DataCubeSource.d.ts +0 -0
  529. /package/lib/stores/core/{models → model}/DataCubeSource.js +0 -0
  530. /package/src/stores/core/{models → model}/AdhocQueryDataCubeSource.ts +0 -0
  531. /package/src/stores/core/{models → model}/DataCubeColumn.ts +0 -0
  532. /package/src/stores/core/{models → model}/DataCubeConfiguration.ts +0 -0
  533. /package/src/stores/core/{models → model}/DataCubeQuery.ts +0 -0
  534. /package/src/stores/core/{models → model}/DataCubeSource.ts +0 -0
@@ -0,0 +1,54 @@
1
+ /**
2
+ * Copyright (c) 2020-present, Goldman Sachs
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
17
+ import type { LogEvent } from '@finos/legend-shared';
18
+ import type { DataCubeEngine } from '../core/DataCubeEngine.js';
19
+
20
+ export class DataCubeLogService {
21
+ private readonly _engine: DataCubeEngine;
22
+
23
+ constructor(engine: DataCubeEngine) {
24
+ this._engine = engine;
25
+ }
26
+
27
+ logDebug(message: string, ...data: unknown[]) {
28
+ this._engine.logDebug(message, ...data);
29
+ }
30
+
31
+ debugProcess(processName: string, ...data: [string, unknown][]) {
32
+ this._engine.debugProcess(processName, ...data);
33
+ }
34
+
35
+ logInfo(event: LogEvent, ...data: unknown[]) {
36
+ this._engine.logInfo(event, ...data);
37
+ }
38
+
39
+ logWarning(event: LogEvent, ...data: unknown[]) {
40
+ this._engine.logWarning(event, ...data);
41
+ }
42
+
43
+ logError(event: LogEvent, ...data: unknown[]) {
44
+ this._engine.logError(event, ...data);
45
+ }
46
+
47
+ logUnhandledError(error: Error) {
48
+ this._engine.logUnhandledError(error);
49
+ }
50
+
51
+ logIllegalStateError(message: string, error?: Error) {
52
+ this._engine.logIllegalStateError(message, error);
53
+ }
54
+ }
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Copyright (c) 2020-present, Goldman Sachs
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
17
+ import type { DataCubeEngine } from '../core/DataCubeEngine.js';
18
+
19
+ export class DataCubeNavigationService {
20
+ private readonly _engine: DataCubeEngine;
21
+
22
+ constructor(engine: DataCubeEngine) {
23
+ this._engine = engine;
24
+ }
25
+
26
+ openLink(url: string) {
27
+ this._engine.openLink(url);
28
+ }
29
+ }
@@ -14,7 +14,6 @@
14
14
  * limitations under the License.
15
15
  */
16
16
 
17
- import type { DataCubeViewState } from './DataCubeViewState.js';
18
17
  import type { DataCubeQuerySnapshot } from '../core/DataCubeQuerySnapshot.js';
19
18
  import {
20
19
  IllegalStateError,
@@ -22,8 +21,11 @@ import {
22
21
  deepDiff,
23
22
  guaranteeNonNullable,
24
23
  } from '@finos/legend-shared';
25
- import type { DataCubeQuery } from '../core/models/DataCubeQuery.js';
26
- import { DataCubeSettingKey } from '../core/DataCubeSetting.js';
24
+ import type { DataCubeQuery } from '../core/model/DataCubeQuery.js';
25
+ import { DataCubeSettingKey } from '../../__lib__/DataCubeSetting.js';
26
+ import type { DataCubeEngine } from '../core/DataCubeEngine.js';
27
+ import type { DataCubeSettingService } from './DataCubeSettingService.js';
28
+ import type { DataCubeLogService } from './DataCubeLogService.js';
27
29
 
28
30
  // TODO: set a stack depth when we implement undo/redo
29
31
  // const DATA_CUBE_MAX_SNAPSHOT_COUNT = 100;
@@ -37,40 +39,52 @@ interface DataCubeQuerySnapshotSubscriber {
37
39
  export abstract class DataCubeQuerySnapshotController
38
40
  implements DataCubeQuerySnapshotSubscriber
39
41
  {
40
- readonly view!: DataCubeViewState;
42
+ protected readonly _engine: DataCubeEngine;
43
+ protected readonly _settingService: DataCubeSettingService;
44
+ protected readonly _snapshotService: DataCubeQuerySnapshotService;
41
45
 
42
- private latestSnapshot: DataCubeQuerySnapshot | undefined;
46
+ private _latestSnapshot: DataCubeQuerySnapshot | undefined;
43
47
 
44
- constructor(view: DataCubeViewState) {
45
- this.view = view;
48
+ constructor(
49
+ engine: DataCubeEngine,
50
+ settingService: DataCubeSettingService,
51
+ snapshotService: DataCubeQuerySnapshotService,
52
+ ) {
53
+ this._engine = engine;
54
+ this._settingService = settingService;
55
+ this._snapshotService = snapshotService;
46
56
  }
47
57
 
48
58
  abstract getSnapshotSubscriberName(): string;
49
59
 
50
- abstract applySnapshot(
51
- snapshot: DataCubeQuerySnapshot,
52
- previousSnapshot: DataCubeQuerySnapshot | undefined,
53
- ): Promise<void>;
60
+ getLatestSnapshot() {
61
+ return this._latestSnapshot;
62
+ }
54
63
 
55
64
  async receiveSnapshot(snapshot: DataCubeQuerySnapshot) {
56
- const previousSnapshot = this.latestSnapshot;
57
- this.latestSnapshot = snapshot;
65
+ const previousSnapshot = this._latestSnapshot;
66
+ this._latestSnapshot = snapshot;
58
67
 
59
68
  // NOTE: fully clone the snapshot before applying it to avoid any potential
60
69
  // mutation of the snapshot by the subscriber
61
70
  await this.applySnapshot(snapshot.INTERNAL__fullClone(), previousSnapshot);
62
71
  }
63
72
 
73
+ abstract applySnapshot(
74
+ snapshot: DataCubeQuerySnapshot,
75
+ previousSnapshot: DataCubeQuerySnapshot | undefined,
76
+ ): Promise<void>;
77
+
64
78
  publishSnapshot(snapshot: DataCubeQuerySnapshot) {
65
- const previousSnapshot = this.latestSnapshot;
66
- this.latestSnapshot = snapshot;
79
+ const previousSnapshot = this._latestSnapshot;
80
+ this._latestSnapshot = snapshot;
67
81
 
68
82
  if (
69
- this.view.dataCube.settings.getBooleanValue(
83
+ this._settingService.getBooleanValue(
70
84
  DataCubeSettingKey.DEBUGGER__ENABLE_DEBUG_MODE,
71
85
  )
72
86
  ) {
73
- this.view.engine.debugProcess(
87
+ this._engine.debugProcess(
74
88
  `New Snapshot`,
75
89
  ['Publisher', this.getSnapshotSubscriberName()],
76
90
  ['Snapshot', snapshot],
@@ -79,32 +93,30 @@ export abstract class DataCubeQuerySnapshotController
79
93
  );
80
94
  }
81
95
 
82
- this.view.snapshotManager.broadcastSnapshot(snapshot);
83
- }
84
-
85
- getLatestSnapshot() {
86
- return this.latestSnapshot;
96
+ this._snapshotService.broadcastSnapshot(snapshot);
87
97
  }
88
98
  }
89
99
 
90
- export class DataCubeQuerySnapshotManager {
91
- private readonly view: DataCubeViewState;
92
- private readonly subscribers: DataCubeQuerySnapshotSubscriber[] = [];
93
- private readonly snapshots: DataCubeQuerySnapshot[] = [];
100
+ export class DataCubeQuerySnapshotService {
101
+ private readonly _engine: DataCubeEngine;
102
+ private readonly _logService: DataCubeLogService;
94
103
 
104
+ private readonly _subscribers: DataCubeQuerySnapshotSubscriber[] = [];
105
+ private readonly _snapshots: DataCubeQuerySnapshot[] = []; // stack
95
106
  private _initialSnapshot: DataCubeQuerySnapshot | undefined;
96
107
  private _initialQuery: DataCubeQuery | undefined;
97
108
 
98
- constructor(view: DataCubeViewState) {
99
- this.view = view;
109
+ constructor(engine: DataCubeEngine, logService: DataCubeLogService) {
110
+ this._engine = engine;
111
+ this._logService = logService;
100
112
  }
101
113
 
102
114
  get currentSnapshot() {
103
- return guaranteeNonNullable(this.snapshots[this.snapshots.length - 1]);
115
+ return guaranteeNonNullable(this._snapshots[this._snapshots.length - 1]);
104
116
  }
105
117
 
106
118
  registerSubscriber(subscriber: DataCubeQuerySnapshotSubscriber) {
107
- const existingSubscriber = this.subscribers.find(
119
+ const existingSubscriber = this._subscribers.find(
108
120
  (sub) =>
109
121
  sub.getSnapshotSubscriberName() ===
110
122
  subscriber.getSnapshotSubscriberName(),
@@ -112,7 +124,7 @@ export class DataCubeQuerySnapshotManager {
112
124
  if (existingSubscriber) {
113
125
  // eslint-disable-next-line no-process-env
114
126
  if (process.env.NODE_ENV === 'development') {
115
- this.view.engine.logDebug(
127
+ this._logService.logDebug(
116
128
  `Subscriber with name '${subscriber.getSnapshotSubscriberName()}' already exists`,
117
129
  );
118
130
  } else {
@@ -121,7 +133,7 @@ export class DataCubeQuerySnapshotManager {
121
133
  );
122
134
  }
123
135
  }
124
- this.subscribers.push(subscriber);
136
+ this._subscribers.push(subscriber);
125
137
  }
126
138
 
127
139
  initialize(
@@ -153,18 +165,18 @@ export class DataCubeQuerySnapshotManager {
153
165
 
154
166
  broadcastSnapshot(snapshot: DataCubeQuerySnapshot) {
155
167
  if (!snapshot.isFinalized()) {
156
- this.view.engine.logIllegalStateError(
168
+ this._logService.logIllegalStateError(
157
169
  `Snapshot must be finalized before broadcasting`,
158
170
  );
159
171
  return;
160
172
  }
161
- this.snapshots.push(snapshot);
162
- this.subscribers.forEach((subscriber) => {
173
+ this._snapshots.push(snapshot);
174
+ this._subscribers.forEach((subscriber) => {
163
175
  const currentSnapshot = subscriber.getLatestSnapshot();
164
176
  if (currentSnapshot?.uuid !== snapshot.uuid) {
165
177
  subscriber.receiveSnapshot(snapshot).catch((error: unknown) => {
166
178
  assertErrorThrown(error);
167
- this.view.engine.logIllegalStateError(
179
+ this._logService.logIllegalStateError(
168
180
  `Error occured while subscribers receiving and applying new snapshot should be handled gracefully`,
169
181
  error,
170
182
  );
@@ -172,6 +184,4 @@ export class DataCubeQuerySnapshotManager {
172
184
  }
173
185
  });
174
186
  }
175
-
176
- // TODO: replace snapshot (for minor modifications such as adjusting the cast columns)
177
187
  }
@@ -14,15 +14,7 @@
14
14
  * limitations under the License.
15
15
  */
16
16
 
17
- import type { DataCubeState } from './DataCubeState.js';
18
- import {
19
- DataCubeSettingGroup,
20
- DataCubeSettingKey,
21
- DataCubeSettingType,
22
- type DataCubeSetting,
23
- type DataCubeSettingValue,
24
- type DataCubeSettingValues,
25
- } from './core/DataCubeSetting.js';
17
+ import { DataCubeSettingKey } from '../../__lib__/DataCubeSetting.js';
26
18
  import {
27
19
  hashArray,
28
20
  IllegalStateError,
@@ -32,8 +24,8 @@ import {
32
24
  LogEvent,
33
25
  UnsupportedOperationError,
34
26
  } from '@finos/legend-shared';
35
- import { DataCubeEvent } from '../__lib__/DataCubeEvent.js';
36
- import type { DataCubeOptions } from './DataCubeOptions.js';
27
+ import { DataCubeEvent } from '../../__lib__/DataCubeEvent.js';
28
+ import type { DataCubeOptions } from '../DataCubeOptions.js';
37
29
  import {
38
30
  action,
39
31
  computed,
@@ -41,40 +33,95 @@ import {
41
33
  observable,
42
34
  runInAction,
43
35
  } from 'mobx';
44
- import type { DisplayState } from './core/DataCubeLayoutManagerState.js';
45
- import { DataCubeSettingsPanel } from '../components/core/DataCubeSettingsPanel.js';
36
+ import type {
37
+ DataCubeLayoutService,
38
+ DisplayState,
39
+ } from './DataCubeLayoutService.js';
40
+ import { DataCubeSettingsPanel } from '../../components/core/DataCubeSettingsPanel.js';
41
+ import type { DataCubeEngine } from '../core/DataCubeEngine.js';
42
+ import type { DataCubeAPI, INTERNAL__DataCubeAPI } from '../DataCubeAPI.js';
43
+ import type { DataCubeLogService } from './DataCubeLogService.js';
44
+
45
+ export type DataCubeSettingValue =
46
+ | string
47
+ | number
48
+ | boolean
49
+ | object
50
+ | undefined;
51
+
52
+ export type DataCubeSettingValues = {
53
+ [key: string]: DataCubeSettingValue;
54
+ };
55
+
56
+ export enum DataCubeSettingGroup {
57
+ DEBUG = 'Debug',
58
+ GRID = 'Grid',
59
+ }
60
+
61
+ export enum DataCubeSettingType {
62
+ BOOLEAN = 'boolean',
63
+ NUMERIC = 'numeric',
64
+ STRING = 'string',
65
+ ACTION = 'action',
66
+ }
67
+
68
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
69
+ export type DataCubeSetting<T extends DataCubeSettingValue = any> = {
70
+ key: string;
71
+ title: string;
72
+ group: string;
73
+ type: DataCubeSettingType;
74
+ defaultValue: T;
75
+ action?: ((api: DataCubeAPI, newValue: T) => void) | undefined;
76
+ description?: string | undefined;
77
+ valueOptional?: boolean | undefined;
78
+ requiresReload?: boolean | undefined;
79
+ // numeric value specifics - TODO: we might want to break these downw to separate types
80
+ numericValueMin?: number | undefined;
81
+ numericValueMax?: number | undefined;
82
+ numericValueStep?: number | undefined;
83
+ };
84
+
85
+ export class DataCubeSettingService {
86
+ private readonly _engine: DataCubeEngine;
87
+ private readonly _logService: DataCubeLogService;
88
+ private readonly _layoutService: DataCubeLayoutService;
89
+ private readonly _options?: DataCubeOptions | undefined;
46
90
 
47
- export class DataCubeSettings {
48
- readonly dataCube: DataCubeState;
49
91
  readonly display: DisplayState;
50
92
  readonly configurations = new Map<string, DataCubeSetting>();
51
93
  readonly defaultValues = new Map<string, DataCubeSettingValue>();
52
- readonly defaultValuesHashCode!: string;
94
+ private readonly _defaultValuesHashCode!: string;
53
95
  readonly values = new Map<string, DataCubeSettingValue>();
54
96
  readonly currentValues = new Map<string, DataCubeSettingValue>();
55
97
 
56
- getSettingValues?: (() => DataCubeSettingValues | undefined) | undefined;
57
- onSettingValuesChanged?:
58
- | ((values: DataCubeSettingValues) => void)
59
- | undefined;
60
- gridClientLicense?: string | undefined;
61
-
62
- constructor(dataCube: DataCubeState, options?: DataCubeOptions | undefined) {
63
- makeObservable(this, {
98
+ constructor(
99
+ engine: DataCubeEngine,
100
+ logService: DataCubeLogService,
101
+ layoutService: DataCubeLayoutService,
102
+ options?: DataCubeOptions | undefined,
103
+ ) {
104
+ makeObservable<
105
+ DataCubeSettingService,
106
+ 'valuesHashCode' | 'currentValuesHashCode'
107
+ >(this, {
64
108
  values: observable,
65
109
  save: action,
66
110
  valuesHashCode: computed,
67
111
 
68
112
  currentValues: observable,
69
- resetDefaultValues: action,
113
+ restoreDefaultValues: action,
70
114
  currentValuesHashCode: computed,
115
+
116
+ allowRestoreDefaultValues: computed,
71
117
  });
72
118
 
73
- this.dataCube = dataCube;
74
- this.getSettingValues = options?.getSettingValues;
75
- this.onSettingValuesChanged = options?.onSettingValuesChanged;
119
+ this._engine = engine;
120
+ this._logService = logService;
121
+ this._layoutService = layoutService;
122
+ this._options = options;
76
123
 
77
- this.display = this.dataCube.engine.layout.newDisplay(
124
+ this.display = this._layoutService.newDisplay(
78
125
  'Settings',
79
126
  () => <DataCubeSettingsPanel />,
80
127
  {
@@ -97,6 +144,15 @@ export class DataCubeSettings {
97
144
  type: DataCubeSettingType.BOOLEAN,
98
145
  defaultValue: false,
99
146
  } satisfies DataCubeSetting<boolean>,
147
+ {
148
+ key: DataCubeSettingKey.DEBUGGER__ACTION__RELOAD,
149
+ title: `Reload`,
150
+ description: `Manually reload DataCube (keeping all states). This is needed when making changes to settings that require reloading to take effect.`,
151
+ group: DataCubeSettingGroup.DEBUG,
152
+ type: DataCubeSettingType.ACTION,
153
+ action: (api) => api.reload(),
154
+ defaultValue: undefined,
155
+ } satisfies DataCubeSetting,
100
156
  {
101
157
  key: DataCubeSettingKey.GRID_CLIENT__SUPPRESS_LARGE_DATASET_WARNING,
102
158
  title: `Large Dataset Warning: Disabled`,
@@ -114,8 +170,8 @@ export class DataCubeSettings {
114
170
  defaultValue: 50,
115
171
  numericValueMin: 10,
116
172
  numericValueStep: 10,
117
- action: (newValue) =>
118
- this.dataCube.runTaskForEachView((view) => {
173
+ action: (api, newValue) =>
174
+ (api as INTERNAL__DataCubeAPI)._runTaskForEachView((view) => {
119
175
  view.grid.client.updateGridOptions({
120
176
  rowBuffer: newValue,
121
177
  });
@@ -128,36 +184,36 @@ export class DataCubeSettings {
128
184
  group: DataCubeSettingGroup.GRID,
129
185
  type: DataCubeSettingType.BOOLEAN,
130
186
  defaultValue: false,
131
- action: (newValue) =>
132
- this.dataCube.runTaskForEachView((view) => {
187
+ action: (api, newValue) =>
188
+ (api as INTERNAL__DataCubeAPI)._runTaskForEachView((view) => {
133
189
  view.grid.client.updateGridOptions({
134
190
  purgeClosedRowNodes: newValue,
135
191
  });
136
192
  }),
137
193
  } satisfies DataCubeSetting<boolean>,
138
194
  {
139
- key: DataCubeSettingKey.GRID_CLIENT__ACTION__REFRESH_FAILED_DATA_FETCHES,
140
- title: `Refresh Failed Data Fetch: Action`,
195
+ key: DataCubeSettingKey.GRID_CLIENT__ACTION__RETRY_FAILED_DATA_FETCHES,
196
+ title: `Retry Failed Data Fetches: Action`,
141
197
  description: `Manually re-runs all failed data fetches in the grid.`,
142
198
  group: DataCubeSettingGroup.GRID,
143
199
  type: DataCubeSettingType.ACTION,
144
- action: () => this.dataCube.refreshFailedDataFetches(),
200
+ action: (api) => api.retryFailedDataFetches(),
145
201
  defaultValue: undefined,
146
202
  } satisfies DataCubeSetting,
147
203
  ];
148
204
 
149
- [...CORE_SETTINGS, ...(options?.getSettingItems?.() ?? [])].forEach(
150
- (configuration) => {
151
- this.configurations.set(configuration.key, configuration);
152
- this.setValue(configuration.key, configuration.defaultValue, [
153
- this.defaultValues,
154
- this.values,
155
- this.currentValues,
156
- ]);
157
- },
158
- );
205
+ const { configurations, values } = options?.settingsData ?? {};
206
+
207
+ [...CORE_SETTINGS, ...(configurations ?? [])].forEach((configuration) => {
208
+ this.configurations.set(configuration.key, configuration);
209
+ this.setValue(configuration.key, configuration.defaultValue, [
210
+ this.defaultValues,
211
+ this.values,
212
+ this.currentValues,
213
+ ]);
214
+ });
159
215
 
160
- const settingValues = this.getSettingValues?.() ?? {};
216
+ const settingValues = values ?? {};
161
217
  Object.keys(settingValues).forEach((key) => {
162
218
  const value = settingValues[key];
163
219
  // for unknown settings (e.g. outdated settings, settings' keys changed, etc.), we ignore them
@@ -172,7 +228,9 @@ export class DataCubeSettings {
172
228
  // be processed here, as they should override the settings retrieved from
173
229
  // cache.
174
230
 
175
- this.defaultValuesHashCode = this.computeValuesHashCode(this.defaultValues);
231
+ this._defaultValuesHashCode = this.computeValuesHashCode(
232
+ this.defaultValues,
233
+ );
176
234
  }
177
235
 
178
236
  private setValue(
@@ -182,7 +240,7 @@ export class DataCubeSettings {
182
240
  ) {
183
241
  const configuration = this.configurations.get(key);
184
242
  if (!configuration) {
185
- this.dataCube.engine.logWarning(
243
+ this._logService.logWarning(
186
244
  LogEvent.create(
187
245
  DataCubeEvent.SETTINGS__FAILURE__FOUND_UNREGISTERED_SETTING,
188
246
  ),
@@ -198,7 +256,7 @@ export class DataCubeSettings {
198
256
  (value === undefined && configuration.valueOptional)
199
257
  )
200
258
  ) {
201
- this.dataCube.engine.logWarning(
259
+ this._logService.logWarning(
202
260
  LogEvent.create(
203
261
  DataCubeEvent.SETTINGS__FAILURE__FOUND_UNREGISTERED_SETTING,
204
262
  ),
@@ -215,7 +273,7 @@ export class DataCubeSettings {
215
273
  (value === undefined && configuration.valueOptional)
216
274
  )
217
275
  ) {
218
- this.dataCube.engine.logWarning(
276
+ this._logService.logWarning(
219
277
  LogEvent.create(
220
278
  DataCubeEvent.SETTINGS__FAILURE__FOUND_UNREGISTERED_SETTING,
221
279
  ),
@@ -232,7 +290,7 @@ export class DataCubeSettings {
232
290
  (value === undefined && configuration.valueOptional)
233
291
  )
234
292
  ) {
235
- this.dataCube.engine.logWarning(
293
+ this._logService.logWarning(
236
294
  LogEvent.create(
237
295
  DataCubeEvent.SETTINGS__FAILURE__FOUND_UNREGISTERED_SETTING,
238
296
  ),
@@ -259,7 +317,7 @@ export class DataCubeSettings {
259
317
  private getConfiguration(key: string) {
260
318
  const configuration = this.configurations.get(key);
261
319
  if (!configuration) {
262
- this.dataCube.engine.logWarning(
320
+ this._logService.logWarning(
263
321
  LogEvent.create(
264
322
  DataCubeEvent.SETTINGS__FAILURE__FOUND_UNREGISTERED_SETTING,
265
323
  ),
@@ -279,7 +337,7 @@ export class DataCubeSettings {
279
337
  configuration.type !== DataCubeSettingType.BOOLEAN ||
280
338
  !isBoolean(value)
281
339
  ) {
282
- this.dataCube.engine.logWarning(
340
+ this._logService.logWarning(
283
341
  LogEvent.create(
284
342
  DataCubeEvent.SETTINGS__FAILURE__RETRIEVE_INCOMPATIBLE_VALUE,
285
343
  ),
@@ -299,7 +357,7 @@ export class DataCubeSettings {
299
357
  configuration.type !== DataCubeSettingType.NUMERIC ||
300
358
  !isNumber(value)
301
359
  ) {
302
- this.dataCube.engine.logWarning(
360
+ this._logService.logWarning(
303
361
  LogEvent.create(
304
362
  DataCubeEvent.SETTINGS__FAILURE__RETRIEVE_INCOMPATIBLE_VALUE,
305
363
  ),
@@ -316,7 +374,7 @@ export class DataCubeSettings {
316
374
  const value = this.values.get(key);
317
375
  const configuration = this.getConfiguration(key);
318
376
  if (configuration.type !== DataCubeSettingType.STRING || !isString(value)) {
319
- this.dataCube.engine.logWarning(
377
+ this._logService.logWarning(
320
378
  LogEvent.create(
321
379
  DataCubeEvent.SETTINGS__FAILURE__RETRIEVE_INCOMPATIBLE_VALUE,
322
380
  ),
@@ -329,29 +387,6 @@ export class DataCubeSettings {
329
387
  return value;
330
388
  }
331
389
 
332
- updateValue(key: string, value: DataCubeSettingValue) {
333
- const configuration = this.configurations.get(key);
334
- if (!configuration) {
335
- this.dataCube.engine.logWarning(
336
- LogEvent.create(
337
- DataCubeEvent.SETTINGS__FAILURE__FOUND_UNREGISTERED_SETTING,
338
- ),
339
- `Can't set value for unregistered setting '${key}'`,
340
- );
341
- return;
342
- }
343
-
344
- if (!this.setValue(key, value, [this.values, this.currentValues])) {
345
- return;
346
- }
347
-
348
- // trigger hook
349
- this.onSettingValuesChanged?.(this.getCurrentSettingValues());
350
-
351
- // trigger action
352
- configuration.action?.(value);
353
- }
354
-
355
390
  private computeValuesHashCode(values: Map<string, DataCubeSettingValue>) {
356
391
  return hashArray(
357
392
  Array.from(values.entries())
@@ -360,22 +395,26 @@ export class DataCubeSettings {
360
395
  );
361
396
  }
362
397
 
363
- get valuesHashCode() {
398
+ private get valuesHashCode() {
364
399
  return this.computeValuesHashCode(this.values);
365
400
  }
366
401
 
367
- get currentValuesHashCode() {
402
+ private get currentValuesHashCode() {
368
403
  return this.computeValuesHashCode(this.currentValues);
369
404
  }
370
405
 
371
- resetDefaultValues() {
406
+ get allowRestoreDefaultValues() {
407
+ return this._defaultValuesHashCode !== this.currentValuesHashCode;
408
+ }
409
+
410
+ restoreDefaultValues() {
372
411
  this.currentValues.clear();
373
412
  this.defaultValues.forEach((value, key) =>
374
413
  this.currentValues.set(key, value),
375
414
  );
376
415
  }
377
416
 
378
- private getCurrentSettingValues(): DataCubeSettingValues {
417
+ private getCurrentSettingValues() {
379
418
  const settingValues: DataCubeSettingValues = {};
380
419
  this.values.forEach((value, key) => {
381
420
  const configuration = this.configurations.get(key);
@@ -387,7 +426,33 @@ export class DataCubeSettings {
387
426
  return settingValues;
388
427
  }
389
428
 
390
- save() {
429
+ updateValue(api: DataCubeAPI, key: string, value: DataCubeSettingValue) {
430
+ const configuration = this.configurations.get(key);
431
+ if (!configuration) {
432
+ this._logService.logWarning(
433
+ LogEvent.create(
434
+ DataCubeEvent.SETTINGS__FAILURE__FOUND_UNREGISTERED_SETTING,
435
+ ),
436
+ `Can't set value for unregistered setting '${key}'`,
437
+ );
438
+ return;
439
+ }
440
+
441
+ if (!this.setValue(key, value, [this.values, this.currentValues])) {
442
+ return;
443
+ }
444
+
445
+ // trigger hook
446
+ this._options?.onSettingsChanged?.({
447
+ api,
448
+ values: this.getCurrentSettingValues(),
449
+ });
450
+
451
+ // trigger action
452
+ configuration.action?.(api, value);
453
+ }
454
+
455
+ save(api: DataCubeAPI) {
391
456
  const changedSettingKeys = new Set<string>();
392
457
  this.values.forEach((value, key) => {
393
458
  if (value !== this.currentValues.get(key)) {
@@ -400,7 +465,10 @@ export class DataCubeSettings {
400
465
  this.currentValues.forEach((value, key) => this.values.set(key, value));
401
466
 
402
467
  // trigger hook
403
- this.onSettingValuesChanged?.(this.getCurrentSettingValues());
468
+ this._options?.onSettingsChanged?.({
469
+ api,
470
+ values: this.getCurrentSettingValues(),
471
+ });
404
472
 
405
473
  // trigger action
406
474
  let requiresReload = false;
@@ -410,12 +478,12 @@ export class DataCubeSettings {
410
478
  requiresReload = true;
411
479
  }
412
480
  if (configuration?.action) {
413
- configuration.action(this.values.get(key));
481
+ configuration.action(api, this.values.get(key));
414
482
  }
415
483
  }
416
484
 
417
485
  if (requiresReload) {
418
- this.dataCube.reload();
486
+ api.reload();
419
487
  }
420
488
  }
421
489
  }