@finos/legend-extension-dsl-data-quality 1.0.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 (260) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +1 -0
  3. package/lib/components/DSL_DataQuality_ClassElementDriver.d.ts +46 -0
  4. package/lib/components/DSL_DataQuality_ClassElementDriver.d.ts.map +1 -0
  5. package/lib/components/DSL_DataQuality_ClassElementDriver.js +116 -0
  6. package/lib/components/DSL_DataQuality_ClassElementDriver.js.map +1 -0
  7. package/lib/components/DSL_DataQuality_LegendStudioApplicationPlugin.d.ts +30 -0
  8. package/lib/components/DSL_DataQuality_LegendStudioApplicationPlugin.d.ts.map +1 -0
  9. package/lib/components/DSL_DataQuality_LegendStudioApplicationPlugin.js +161 -0
  10. package/lib/components/DSL_DataQuality_LegendStudioApplicationPlugin.js.map +1 -0
  11. package/lib/components/DSL_DataQuality_LegendStudioPlugin_Extension.d.ts +25 -0
  12. package/lib/components/DSL_DataQuality_LegendStudioPlugin_Extension.d.ts.map +1 -0
  13. package/lib/components/DSL_DataQuality_LegendStudioPlugin_Extension.js +2 -0
  14. package/lib/components/DSL_DataQuality_LegendStudioPlugin_Extension.js.map +1 -0
  15. package/lib/components/DSL_DataQuality_ServiceElementDriver.d.ts +27 -0
  16. package/lib/components/DSL_DataQuality_ServiceElementDriver.d.ts.map +1 -0
  17. package/lib/components/DSL_DataQuality_ServiceElementDriver.js +41 -0
  18. package/lib/components/DSL_DataQuality_ServiceElementDriver.js.map +1 -0
  19. package/lib/components/DSL_NewDataQualityClassValidationElement.d.ts +19 -0
  20. package/lib/components/DSL_NewDataQualityClassValidationElement.d.ts.map +1 -0
  21. package/lib/components/DSL_NewDataQualityClassValidationElement.js +64 -0
  22. package/lib/components/DSL_NewDataQualityClassValidationElement.js.map +1 -0
  23. package/lib/components/DSL_NewDataQualityServiceValidationElement.d.ts +19 -0
  24. package/lib/components/DSL_NewDataQualityServiceValidationElement.d.ts.map +1 -0
  25. package/lib/components/DSL_NewDataQualityServiceValidationElement.js +41 -0
  26. package/lib/components/DSL_NewDataQualityServiceValidationElement.js.map +1 -0
  27. package/lib/components/DataQualityClassValidationEditor.d.ts +19 -0
  28. package/lib/components/DataQualityClassValidationEditor.d.ts.map +1 -0
  29. package/lib/components/DataQualityClassValidationEditor.js +29 -0
  30. package/lib/components/DataQualityClassValidationEditor.js.map +1 -0
  31. package/lib/components/DataQualityConstraintsSelection.d.ts +39 -0
  32. package/lib/components/DataQualityConstraintsSelection.d.ts.map +1 -0
  33. package/lib/components/DataQualityConstraintsSelection.js +133 -0
  34. package/lib/components/DataQualityConstraintsSelection.js.map +1 -0
  35. package/lib/components/DataQualityDataSpaceBuilder.d.ts +22 -0
  36. package/lib/components/DataQualityDataSpaceBuilder.d.ts.map +1 -0
  37. package/lib/components/DataQualityDataSpaceBuilder.js +101 -0
  38. package/lib/components/DataQualityDataSpaceBuilder.js.map +1 -0
  39. package/lib/components/DataQualityExplorerPanel.d.ts +29 -0
  40. package/lib/components/DataQualityExplorerPanel.d.ts.map +1 -0
  41. package/lib/components/DataQualityExplorerPanel.js +185 -0
  42. package/lib/components/DataQualityExplorerPanel.js.map +1 -0
  43. package/lib/components/DataQualityFilterPanel.d.ts +24 -0
  44. package/lib/components/DataQualityFilterPanel.d.ts.map +1 -0
  45. package/lib/components/DataQualityFilterPanel.js +32 -0
  46. package/lib/components/DataQualityFilterPanel.js.map +1 -0
  47. package/lib/components/DataQualityMappingAndRuntimeBuilder.d.ts +22 -0
  48. package/lib/components/DataQualityMappingAndRuntimeBuilder.d.ts.map +1 -0
  49. package/lib/components/DataQualityMappingAndRuntimeBuilder.js +98 -0
  50. package/lib/components/DataQualityMappingAndRuntimeBuilder.js.map +1 -0
  51. package/lib/components/DataQualityResultPanel.d.ts +22 -0
  52. package/lib/components/DataQualityResultPanel.d.ts.map +1 -0
  53. package/lib/components/DataQualityResultPanel.js +110 -0
  54. package/lib/components/DataQualityResultPanel.js.map +1 -0
  55. package/lib/components/DataQualityResultValues.d.ts +24 -0
  56. package/lib/components/DataQualityResultValues.d.ts.map +1 -0
  57. package/lib/components/DataQualityResultValues.js +31 -0
  58. package/lib/components/DataQualityResultValues.js.map +1 -0
  59. package/lib/components/DataQualityServiceValidationEditor.d.ts +19 -0
  60. package/lib/components/DataQualityServiceValidationEditor.d.ts.map +1 -0
  61. package/lib/components/DataQualityServiceValidationEditor.js +29 -0
  62. package/lib/components/DataQualityServiceValidationEditor.js.map +1 -0
  63. package/lib/components/DataQualitySideBar.d.ts +40 -0
  64. package/lib/components/DataQualitySideBar.d.ts.map +1 -0
  65. package/lib/components/DataQualitySideBar.js +78 -0
  66. package/lib/components/DataQualitySideBar.js.map +1 -0
  67. package/lib/components/DataQualityStructuralValidationsPanel.d.ts +22 -0
  68. package/lib/components/DataQualityStructuralValidationsPanel.d.ts.map +1 -0
  69. package/lib/components/DataQualityStructuralValidationsPanel.js +50 -0
  70. package/lib/components/DataQualityStructuralValidationsPanel.js.map +1 -0
  71. package/lib/components/DataQualityTabs.d.ts +22 -0
  72. package/lib/components/DataQualityTabs.d.ts.map +1 -0
  73. package/lib/components/DataQualityTabs.js +58 -0
  74. package/lib/components/DataQualityTabs.js.map +1 -0
  75. package/lib/components/DataQualityValidationEditor.d.ts +23 -0
  76. package/lib/components/DataQualityValidationEditor.d.ts.map +1 -0
  77. package/lib/components/DataQualityValidationEditor.js +24 -0
  78. package/lib/components/DataQualityValidationEditor.js.map +1 -0
  79. package/lib/components/constants/DataQualityConstants.d.ts +24 -0
  80. package/lib/components/constants/DataQualityConstants.d.ts.map +1 -0
  81. package/lib/components/constants/DataQualityConstants.js +25 -0
  82. package/lib/components/constants/DataQualityConstants.js.map +1 -0
  83. package/lib/components/index.d.ts +19 -0
  84. package/lib/components/index.d.ts.map +1 -0
  85. package/lib/components/index.js +19 -0
  86. package/lib/components/index.js.map +1 -0
  87. package/lib/components/states/ConstraintState.d.ts +30 -0
  88. package/lib/components/states/ConstraintState.d.ts.map +1 -0
  89. package/lib/components/states/ConstraintState.js +55 -0
  90. package/lib/components/states/ConstraintState.js.map +1 -0
  91. package/lib/components/states/DataQualityClassValidationState.d.ts +43 -0
  92. package/lib/components/states/DataQualityClassValidationState.d.ts.map +1 -0
  93. package/lib/components/states/DataQualityClassValidationState.js +162 -0
  94. package/lib/components/states/DataQualityClassValidationState.js.map +1 -0
  95. package/lib/components/states/DataQualityGraphFetchTreeState.d.ts +34 -0
  96. package/lib/components/states/DataQualityGraphFetchTreeState.d.ts.map +1 -0
  97. package/lib/components/states/DataQualityGraphFetchTreeState.js +70 -0
  98. package/lib/components/states/DataQualityGraphFetchTreeState.js.map +1 -0
  99. package/lib/components/states/DataQualityQueryBuilderState.d.ts +19 -0
  100. package/lib/components/states/DataQualityQueryBuilderState.d.ts.map +1 -0
  101. package/lib/components/states/DataQualityQueryBuilderState.js +19 -0
  102. package/lib/components/states/DataQualityQueryBuilderState.js.map +1 -0
  103. package/lib/components/states/DataQualityResultState.d.ts +44 -0
  104. package/lib/components/states/DataQualityResultState.d.ts.map +1 -0
  105. package/lib/components/states/DataQualityResultState.js +154 -0
  106. package/lib/components/states/DataQualityResultState.js.map +1 -0
  107. package/lib/components/states/DataQualityServiceValidationState.d.ts +25 -0
  108. package/lib/components/states/DataQualityServiceValidationState.d.ts.map +1 -0
  109. package/lib/components/states/DataQualityServiceValidationState.js +33 -0
  110. package/lib/components/states/DataQualityServiceValidationState.js.map +1 -0
  111. package/lib/components/states/DataQualityState.d.ts +67 -0
  112. package/lib/components/states/DataQualityState.d.ts.map +1 -0
  113. package/lib/components/states/DataQualityState.js +204 -0
  114. package/lib/components/states/DataQualityState.js.map +1 -0
  115. package/lib/components/utils/DataQualityGraphFetchTreeUtil.d.ts +51 -0
  116. package/lib/components/utils/DataQualityGraphFetchTreeUtil.d.ts.map +1 -0
  117. package/lib/components/utils/DataQualityGraphFetchTreeUtil.js +321 -0
  118. package/lib/components/utils/DataQualityGraphFetchTreeUtil.js.map +1 -0
  119. package/lib/graph/metamodel/DSL_DataQuality_HashUtils.d.ts +29 -0
  120. package/lib/graph/metamodel/DSL_DataQuality_HashUtils.d.ts.map +1 -0
  121. package/lib/graph/metamodel/DSL_DataQuality_HashUtils.js +30 -0
  122. package/lib/graph/metamodel/DSL_DataQuality_HashUtils.js.map +1 -0
  123. package/lib/graph/metamodel/DSL_DataQuality_PureGraphPlugin.d.ts +22 -0
  124. package/lib/graph/metamodel/DSL_DataQuality_PureGraphPlugin.d.ts.map +1 -0
  125. package/lib/graph/metamodel/DSL_DataQuality_PureGraphPlugin.js +31 -0
  126. package/lib/graph/metamodel/DSL_DataQuality_PureGraphPlugin.js.map +1 -0
  127. package/lib/graph/metamodel/pure/packageableElements/data-quality/DataQualityGraphFetchTree.d.ts +26 -0
  128. package/lib/graph/metamodel/pure/packageableElements/data-quality/DataQualityGraphFetchTree.d.ts.map +1 -0
  129. package/lib/graph/metamodel/pure/packageableElements/data-quality/DataQualityGraphFetchTree.js +44 -0
  130. package/lib/graph/metamodel/pure/packageableElements/data-quality/DataQualityGraphFetchTree.js.map +1 -0
  131. package/lib/graph/metamodel/pure/packageableElements/data-quality/DataQualityValidationConfiguration.d.ts +47 -0
  132. package/lib/graph/metamodel/pure/packageableElements/data-quality/DataQualityValidationConfiguration.d.ts.map +1 -0
  133. package/lib/graph/metamodel/pure/packageableElements/data-quality/DataQualityValidationConfiguration.js +75 -0
  134. package/lib/graph/metamodel/pure/packageableElements/data-quality/DataQualityValidationConfiguration.js.map +1 -0
  135. package/lib/graph-manager/DSL_DataQuality_GraphManagerHelper.d.ts +20 -0
  136. package/lib/graph-manager/DSL_DataQuality_GraphManagerHelper.d.ts.map +1 -0
  137. package/lib/graph-manager/DSL_DataQuality_GraphManagerHelper.js +20 -0
  138. package/lib/graph-manager/DSL_DataQuality_GraphManagerHelper.js.map +1 -0
  139. package/lib/graph-manager/DSL_DataQuality_GraphManagerPreset.d.ts +20 -0
  140. package/lib/graph-manager/DSL_DataQuality_GraphManagerPreset.d.ts.map +1 -0
  141. package/lib/graph-manager/DSL_DataQuality_GraphManagerPreset.js +30 -0
  142. package/lib/graph-manager/DSL_DataQuality_GraphManagerPreset.js.map +1 -0
  143. package/lib/graph-manager/DSL_DataQuality_GraphModifierHelper.d.ts +26 -0
  144. package/lib/graph-manager/DSL_DataQuality_GraphModifierHelper.d.ts.map +1 -0
  145. package/lib/graph-manager/DSL_DataQuality_GraphModifierHelper.js +57 -0
  146. package/lib/graph-manager/DSL_DataQuality_GraphModifierHelper.js.map +1 -0
  147. package/lib/graph-manager/DSL_DataQuality_PureGraphManagerPlugin.d.ts +7 -0
  148. package/lib/graph-manager/DSL_DataQuality_PureGraphManagerPlugin.d.ts.map +1 -0
  149. package/lib/graph-manager/DSL_DataQuality_PureGraphManagerPlugin.js +42 -0
  150. package/lib/graph-manager/DSL_DataQuality_PureGraphManagerPlugin.js.map +1 -0
  151. package/lib/graph-manager/action/changeDetection/DSL_DataQuality_ObserverHelper.d.ts +24 -0
  152. package/lib/graph-manager/action/changeDetection/DSL_DataQuality_ObserverHelper.d.ts.map +1 -0
  153. package/lib/graph-manager/action/changeDetection/DSL_DataQuality_ObserverHelper.js +98 -0
  154. package/lib/graph-manager/action/changeDetection/DSL_DataQuality_ObserverHelper.js.map +1 -0
  155. package/lib/graph-manager/index.d.ts +19 -0
  156. package/lib/graph-manager/index.d.ts.map +1 -0
  157. package/lib/graph-manager/index.js +19 -0
  158. package/lib/graph-manager/index.js.map +1 -0
  159. package/lib/graph-manager/protocol/pure/DSL_DataQuality_PureGraphManagerExtension.d.ts +27 -0
  160. package/lib/graph-manager/protocol/pure/DSL_DataQuality_PureGraphManagerExtension.d.ts.map +1 -0
  161. package/lib/graph-manager/protocol/pure/DSL_DataQuality_PureGraphManagerExtension.js +21 -0
  162. package/lib/graph-manager/protocol/pure/DSL_DataQuality_PureGraphManagerExtension.js.map +1 -0
  163. package/lib/graph-manager/protocol/pure/DSL_DataQuality_PureProtocolProcessorPlugin.d.ts +25 -0
  164. package/lib/graph-manager/protocol/pure/DSL_DataQuality_PureProtocolProcessorPlugin.d.ts.map +1 -0
  165. package/lib/graph-manager/protocol/pure/DSL_DataQuality_PureProtocolProcessorPlugin.js +140 -0
  166. package/lib/graph-manager/protocol/pure/DSL_DataQuality_PureProtocolProcessorPlugin.js.map +1 -0
  167. package/lib/graph-manager/protocol/pure/DSL_DataQuality_buildGraphManagerExtension.d.ts +18 -0
  168. package/lib/graph-manager/protocol/pure/DSL_DataQuality_buildGraphManagerExtension.d.ts.map +1 -0
  169. package/lib/graph-manager/protocol/pure/DSL_DataQuality_buildGraphManagerExtension.js +20 -0
  170. package/lib/graph-manager/protocol/pure/DSL_DataQuality_buildGraphManagerExtension.js.map +1 -0
  171. package/lib/graph-manager/protocol/pure/v1/V1_DSL_Data_Quality_PureGraphManagerExtension.d.ts +41 -0
  172. package/lib/graph-manager/protocol/pure/v1/V1_DSL_Data_Quality_PureGraphManagerExtension.d.ts.map +1 -0
  173. package/lib/graph-manager/protocol/pure/v1/V1_DSL_Data_Quality_PureGraphManagerExtension.js +95 -0
  174. package/lib/graph-manager/protocol/pure/v1/V1_DSL_Data_Quality_PureGraphManagerExtension.js.map +1 -0
  175. package/lib/graph-manager/protocol/pure/v1/V1_DataQualityConstraintsConfiguration.d.ts +46 -0
  176. package/lib/graph-manager/protocol/pure/v1/V1_DataQualityConstraintsConfiguration.d.ts.map +1 -0
  177. package/lib/graph-manager/protocol/pure/v1/V1_DataQualityConstraintsConfiguration.js +76 -0
  178. package/lib/graph-manager/protocol/pure/v1/V1_DataQualityConstraintsConfiguration.js.map +1 -0
  179. package/lib/graph-manager/protocol/pure/v1/model/graphFetch/V1_DataQualityPropertyGraphFetchTree.d.ts +22 -0
  180. package/lib/graph-manager/protocol/pure/v1/model/graphFetch/V1_DataQualityPropertyGraphFetchTree.d.ts.map +1 -0
  181. package/lib/graph-manager/protocol/pure/v1/model/graphFetch/V1_DataQualityPropertyGraphFetchTree.js +32 -0
  182. package/lib/graph-manager/protocol/pure/v1/model/graphFetch/V1_DataQualityPropertyGraphFetchTree.js.map +1 -0
  183. package/lib/graph-manager/protocol/pure/v1/model/graphFetch/V1_DataQualityRootGraphFetchTree.d.ts +22 -0
  184. package/lib/graph-manager/protocol/pure/v1/model/graphFetch/V1_DataQualityRootGraphFetchTree.d.ts.map +1 -0
  185. package/lib/graph-manager/protocol/pure/v1/model/graphFetch/V1_DataQualityRootGraphFetchTree.js +31 -0
  186. package/lib/graph-manager/protocol/pure/v1/model/graphFetch/V1_DataQualityRootGraphFetchTree.js.map +1 -0
  187. package/lib/graph-manager/protocol/pure/v1/transformation/V1_ValueSpecificationBuilderHelper.d.ts +24 -0
  188. package/lib/graph-manager/protocol/pure/v1/transformation/V1_ValueSpecificationBuilderHelper.d.ts.map +1 -0
  189. package/lib/graph-manager/protocol/pure/v1/transformation/V1_ValueSpecificationBuilderHelper.js +92 -0
  190. package/lib/graph-manager/protocol/pure/v1/transformation/V1_ValueSpecificationBuilderHelper.js.map +1 -0
  191. package/lib/graph-manager/protocol/pure/v1/transformation/V1_ValueSpecificationSerializer.d.ts +20 -0
  192. package/lib/graph-manager/protocol/pure/v1/transformation/V1_ValueSpecificationSerializer.d.ts.map +1 -0
  193. package/lib/graph-manager/protocol/pure/v1/transformation/V1_ValueSpecificationSerializer.js +56 -0
  194. package/lib/graph-manager/protocol/pure/v1/transformation/V1_ValueSpecificationSerializer.js.map +1 -0
  195. package/lib/graph-manager/protocol/pure/v1/transformation/V1_ValueSpecificationTransformer.d.ts +22 -0
  196. package/lib/graph-manager/protocol/pure/v1/transformation/V1_ValueSpecificationTransformer.d.ts.map +1 -0
  197. package/lib/graph-manager/protocol/pure/v1/transformation/V1_ValueSpecificationTransformer.js +70 -0
  198. package/lib/graph-manager/protocol/pure/v1/transformation/V1_ValueSpecificationTransformer.js.map +1 -0
  199. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/V1_DSL_DataQuality_ProtocolHelper.d.ts +29 -0
  200. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/V1_DSL_DataQuality_ProtocolHelper.d.ts.map +1 -0
  201. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/V1_DSL_DataQuality_ProtocolHelper.js +80 -0
  202. package/lib/graph-manager/protocol/pure/v1/transformation/pureProtocol/V1_DSL_DataQuality_ProtocolHelper.js.map +1 -0
  203. package/lib/index.css +17 -0
  204. package/lib/index.css.map +1 -0
  205. package/lib/package.json +87 -0
  206. package/package.json +87 -0
  207. package/src/components/DSL_DataQuality_ClassElementDriver.tsx +175 -0
  208. package/src/components/DSL_DataQuality_LegendStudioApplicationPlugin.tsx +220 -0
  209. package/src/components/DSL_DataQuality_LegendStudioPlugin_Extension.ts +39 -0
  210. package/src/components/DSL_DataQuality_ServiceElementDriver.tsx +57 -0
  211. package/src/components/DSL_NewDataQualityClassValidationElement.tsx +156 -0
  212. package/src/components/DSL_NewDataQualityServiceValidationElement.tsx +74 -0
  213. package/src/components/DataQualityClassValidationEditor.tsx +49 -0
  214. package/src/components/DataQualityConstraintsSelection.tsx +376 -0
  215. package/src/components/DataQualityDataSpaceBuilder.tsx +274 -0
  216. package/src/components/DataQualityExplorerPanel.tsx +584 -0
  217. package/src/components/DataQualityFilterPanel.tsx +50 -0
  218. package/src/components/DataQualityMappingAndRuntimeBuilder.tsx +224 -0
  219. package/src/components/DataQualityResultPanel.tsx +335 -0
  220. package/src/components/DataQualityResultValues.tsx +61 -0
  221. package/src/components/DataQualityServiceValidationEditor.tsx +49 -0
  222. package/src/components/DataQualitySideBar.tsx +216 -0
  223. package/src/components/DataQualityStructuralValidationsPanel.tsx +105 -0
  224. package/src/components/DataQualityTabs.tsx +104 -0
  225. package/src/components/DataQualityValidationEditor.tsx +52 -0
  226. package/src/components/constants/DataQualityConstants.ts +24 -0
  227. package/src/components/index.ts +19 -0
  228. package/src/components/states/ConstraintState.ts +70 -0
  229. package/src/components/states/DataQualityClassValidationState.ts +308 -0
  230. package/src/components/states/DataQualityGraphFetchTreeState.ts +125 -0
  231. package/src/components/states/DataQualityQueryBuilderState.ts +19 -0
  232. package/src/components/states/DataQualityResultState.ts +217 -0
  233. package/src/components/states/DataQualityServiceValidationState.ts +56 -0
  234. package/src/components/states/DataQualityState.ts +354 -0
  235. package/src/components/utils/DataQualityGraphFetchTreeUtil.ts +592 -0
  236. package/src/graph/metamodel/DSL_DataQuality_HashUtils.ts +29 -0
  237. package/src/graph/metamodel/DSL_DataQuality_PureGraphPlugin.ts +36 -0
  238. package/src/graph/metamodel/pure/packageableElements/data-quality/DataQualityGraphFetchTree.ts +55 -0
  239. package/src/graph/metamodel/pure/packageableElements/data-quality/DataQualityValidationConfiguration.ts +107 -0
  240. package/src/graph-manager/DSL_DataQuality_GraphManagerHelper.ts +46 -0
  241. package/src/graph-manager/DSL_DataQuality_GraphManagerPreset.ts +31 -0
  242. package/src/graph-manager/DSL_DataQuality_GraphModifierHelper.ts +113 -0
  243. package/src/graph-manager/DSL_DataQuality_PureGraphManagerPlugin.ts +59 -0
  244. package/src/graph-manager/action/changeDetection/DSL_DataQuality_ObserverHelper.ts +153 -0
  245. package/src/graph-manager/index.ts +19 -0
  246. package/src/graph-manager/protocol/pure/DSL_DataQuality_PureGraphManagerExtension.ts +59 -0
  247. package/src/graph-manager/protocol/pure/DSL_DataQuality_PureProtocolProcessorPlugin.ts +283 -0
  248. package/src/graph-manager/protocol/pure/DSL_DataQuality_buildGraphManagerExtension.ts +27 -0
  249. package/src/graph-manager/protocol/pure/v1/V1_DSL_Data_Quality_PureGraphManagerExtension.ts +246 -0
  250. package/src/graph-manager/protocol/pure/v1/V1_DataQualityConstraintsConfiguration.ts +103 -0
  251. package/src/graph-manager/protocol/pure/v1/model/graphFetch/V1_DataQualityPropertyGraphFetchTree.ts +37 -0
  252. package/src/graph-manager/protocol/pure/v1/model/graphFetch/V1_DataQualityRootGraphFetchTree.ts +36 -0
  253. package/src/graph-manager/protocol/pure/v1/transformation/V1_ValueSpecificationBuilderHelper.ts +241 -0
  254. package/src/graph-manager/protocol/pure/v1/transformation/V1_ValueSpecificationSerializer.ts +113 -0
  255. package/src/graph-manager/protocol/pure/v1/transformation/V1_ValueSpecificationTransformer.ts +139 -0
  256. package/src/graph-manager/protocol/pure/v1/transformation/pureProtocol/V1_DSL_DataQuality_ProtocolHelper.ts +186 -0
  257. package/style/_data-quality-validation-builder.scss +1660 -0
  258. package/style/index.scss +67 -0
  259. package/tsconfig.json +137 -0
  260. package/tsconfig.package.json +9 -0
@@ -0,0 +1,101 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ /**
3
+ * Copyright (c) 2020-present, Goldman Sachs
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ import { observer } from 'mobx-react-lite';
18
+ import { useApplicationStore } from '@finos/legend-application';
19
+ import { useEffect } from 'react';
20
+ import { guaranteeType } from '@finos/legend-shared';
21
+ import { flowResult } from 'mobx';
22
+ import { getMappingCompatibleRuntimes, PackageableElementExplicitReference, RuntimePointer, } from '@finos/legend-graph';
23
+ import { DataQualityClassSelector } from './DataQualitySideBar.js';
24
+ import { CheckIcon, createFilter, MenuContentItemIcon, MenuContentItemLabel, MoreHorizontalIcon, PlayIcon, CustomSelectorInput, ControlledDropdownMenu, MenuContent, MenuContentItem, PURE_RuntimeIcon, } from '@finos/legend-art';
25
+ import { resolveUsableDataSpaceClasses } from '@finos/legend-extension-dsl-data-space/graph';
26
+ import { DataSpaceIcon } from '@finos/legend-extension-dsl-data-space/application';
27
+ import { buildDataSpaceOption, buildExecutionContextOption, formatDataSpaceOptionLabel, } from '@finos/legend-extension-dsl-data-space/application-query';
28
+ import { buildRuntimeValueOption, getRuntimeOptionFormatter, } from '@finos/legend-query-builder';
29
+ export const DataQualityDataSpaceBuilderSetupPanelContent = observer((props) => {
30
+ const { dataQualityState } = props;
31
+ const { dataQualityQueryBuilderState } = dataQualityState;
32
+ const dataSpace = dataQualityState.dataSpace;
33
+ if (!dataSpace) {
34
+ return null;
35
+ }
36
+ const applicationStore = useApplicationStore();
37
+ // data space
38
+ const dataSpaceOptions = dataQualityState.dataSpaces.map(buildDataSpaceOption);
39
+ const selectedDataSpaceOption = {
40
+ label: dataSpace.title ?? dataSpace.name,
41
+ value: {
42
+ title: dataSpace.title,
43
+ name: dataSpace.name,
44
+ path: dataSpace.path,
45
+ defaultExecutionContext: dataSpace.defaultExecutionContext.name,
46
+ },
47
+ };
48
+ const executionContextOptions = dataSpace.executionContexts.map(buildExecutionContextOption);
49
+ const runtimeOptions = getMappingCompatibleRuntimes(dataQualityQueryBuilderState.executionContextState.mapping, dataQualityState.graphManagerState.usableRuntimes)
50
+ .map((rt) => new RuntimePointer(PackageableElementExplicitReference.create(rt)))
51
+ .map(buildRuntimeValueOption);
52
+ const selectedRuntimeOption = dataQualityQueryBuilderState
53
+ .executionContextState.runtimeValue
54
+ ? buildRuntimeValueOption(dataQualityQueryBuilderState.executionContextState.runtimeValue)
55
+ : null;
56
+ const classes = resolveUsableDataSpaceClasses(dataSpace, dataQualityQueryBuilderState.executionContextState.mapping, dataQualityState.graphManagerState);
57
+ const onDataSpaceOptionChange = (option) => {
58
+ dataQualityState.onDataSpaceChange(option.value);
59
+ dataQualityState.updateElementOnDataSpaceChange();
60
+ };
61
+ const selectedExecutionContextOption = buildExecutionContextOption(dataQualityState.executionContext);
62
+ const onExecutionContextOptionChange = (option) => {
63
+ if (option.value === dataQualityState.executionContext) {
64
+ return;
65
+ }
66
+ dataQualityState.setExecutionContext(option.value);
67
+ dataQualityState.propagateExecutionContextChange(option.value);
68
+ dataQualityState.updateElementOnExecutionContextChange(option.value.name);
69
+ dataQualityState.onExecutionContextChange?.(option.value);
70
+ };
71
+ const changeRuntime = (option) => {
72
+ if (option.value ===
73
+ dataQualityQueryBuilderState.executionContextState.runtimeValue) {
74
+ return;
75
+ }
76
+ dataQualityQueryBuilderState.changeRuntime(option.value);
77
+ dataQualityState.onRuntimeChange?.(option.value);
78
+ };
79
+ const runtimeFilterOption = createFilter({
80
+ ignoreCase: true,
81
+ ignoreAccents: false,
82
+ stringify: (option) => guaranteeType(option.value, RuntimePointer).packageableRuntime.value
83
+ .path,
84
+ });
85
+ useEffect(() => {
86
+ flowResult(dataQualityState.loadDataSpaces()).catch(applicationStore.alertUnhandledError);
87
+ }, [dataQualityState, applicationStore]);
88
+ return (_jsxs(_Fragment, { children: [_jsxs("div", { className: "data-quality-validation__setup__config-group", children: [_jsxs("div", { className: "data-quality-validation__setup__config-group__header", children: [_jsx("div", { className: "data-quality-validation__setup__config-group__header__title", children: "data space execution context" }), _jsx(ControlledDropdownMenu, { className: "data-quality-validation__setup__config-group__header__dropdown-trigger", title: "Show Settings...", content: _jsx(MenuContent, { children: _jsxs(MenuContentItem, { onClick: () => dataQualityState.setShowRuntimeSelector(!dataQualityState.showRuntimeSelector), children: [_jsx(MenuContentItemIcon, { children: dataQualityState.showRuntimeSelector ? (_jsx(CheckIcon, {})) : null }), _jsx(MenuContentItemLabel, { children: "Show Runtime Selector" })] }) }), menuProps: {
89
+ anchorOrigin: { vertical: 'bottom', horizontal: 'right' },
90
+ transformOrigin: { vertical: 'top', horizontal: 'right' },
91
+ }, children: _jsx(MoreHorizontalIcon, {}) })] }), _jsxs("div", { className: "data-quality-validation__setup__config-group__content", children: [_jsxs("div", { className: "data-quality-validation__setup__config-group__item", children: [_jsx("div", { className: "btn--sm data-quality-validation__setup__config-group__item__label", title: "data space", children: _jsx(DataSpaceIcon, {}) }), _jsx(CustomSelectorInput, { className: "panel__content__form__section__dropdown data-quality-validation__setup__config-group__item__selector", options: dataSpaceOptions, isLoading: dataQualityState.loadDataSpacesState.isInProgress, onChange: onDataSpaceOptionChange, value: selectedDataSpaceOption, placeholder: "Search for data space...", escapeClearsValue: true, darkMode: !applicationStore.layoutService
92
+ .TEMPORARY__isLightColorThemeEnabled, formatOptionLabel: formatDataSpaceOptionLabel })] }), _jsxs("div", { className: "data-quality-validation__setup__config-group__item", children: [_jsx("div", { className: "btn--sm data-quality-validation__setup__config-group__item__label", title: "execution context", children: _jsx(PlayIcon, { className: "data-quality-validation__setup__data-space__icon__execution-context" }) }), _jsx(CustomSelectorInput, { className: "panel__content__form__section__dropdown data-quality-validation__setup__config-group__item__selector", placeholder: "Choose an execution context...", options: executionContextOptions, disabled: executionContextOptions.length < 1 ||
93
+ (executionContextOptions.length === 1 &&
94
+ Boolean(selectedExecutionContextOption)), onChange: onExecutionContextOptionChange, value: selectedExecutionContextOption, darkMode: !applicationStore.layoutService
95
+ .TEMPORARY__isLightColorThemeEnabled })] }), dataQualityState.showRuntimeSelector && (_jsxs("div", { className: "data-quality-validation__setup__config-group__item", children: [_jsx("div", { className: "btn--sm data-quality-validation__setup__config-group__item__label", title: "runtime", children: _jsx(PURE_RuntimeIcon, {}) }), _jsx(CustomSelectorInput, { className: "panel__content__form__section__dropdown data-quality-validation__setup__config-group__item__selector", placeholder: "Choose a runtime...", noMatchMessage: "No compatible runtime found for specified execution context", options: runtimeOptions, onChange: changeRuntime, value: selectedRuntimeOption, darkMode: !applicationStore.layoutService
96
+ .TEMPORARY__isLightColorThemeEnabled, filterOption: runtimeFilterOption, formatOptionLabel: getRuntimeOptionFormatter({
97
+ darkMode: !applicationStore.layoutService
98
+ .TEMPORARY__isLightColorThemeEnabled,
99
+ }), disabled: true })] }))] })] }), _jsx(DataQualityClassSelector, { dataQualityState: dataQualityState, classes: classes, noMatchMessage: "No compatible class found for specified execution context" })] }));
100
+ });
101
+ //# sourceMappingURL=DataQualityDataSpaceBuilder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DataQualityDataSpaceBuilder.js","sourceRoot":"","sources":["../../src/components/DataQualityDataSpaceBuilder.tsx"],"names":[],"mappings":"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"}
@@ -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
+ import type { DataQualityState } from './states/DataQualityState.js';
17
+ import { type QueryBuilderExplorerTreeNodeData } from '@finos/legend-query-builder';
18
+ import { type TreeNodeContainerProps } from '@finos/legend-art';
19
+ export declare const QueryBuilderExplorerTreeNodeContainer: ((props: TreeNodeContainerProps<QueryBuilderExplorerTreeNodeData, {
20
+ dataQualityState: DataQualityState;
21
+ }>) => import("react/jsx-runtime").JSX.Element | null) & {
22
+ displayName: string;
23
+ };
24
+ export declare const DataQualityExplorerPanel: ((props: {
25
+ dataQualityState: DataQualityState;
26
+ }) => import("react/jsx-runtime").JSX.Element) & {
27
+ displayName: string;
28
+ };
29
+ //# sourceMappingURL=DataQualityExplorerPanel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DataQualityExplorerPanel.d.ts","sourceRoot":"","sources":["../../src/components/DataQualityExplorerPanel.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAOH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAGrE,OAAO,EAEL,KAAK,gCAAgC,EAatC,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,KAAK,sBAAsB,EAuB5B,MAAM,mBAAmB,CAAC;AAW3B,eAAO,MAAM,qCAAqC,WAEvC,sBAAsB,CAC3B,gCAAgC,EAChC;IACE,gBAAgB,EAAE,gBAAgB,CAAC;CACpC,CACF;;CAoOJ,CAAC;AA4IF,eAAO,MAAM,wBAAwB,WAC3B;IAAE,gBAAgB,EAAE,gBAAgB,CAAA;CAAE;;CAoI/C,CAAC"}
@@ -0,0 +1,185 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ /**
3
+ * Copyright (c) 2020-present, Goldman Sachs
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ import { useEffect, useState } from 'react';
18
+ import { observer } from 'mobx-react-lite';
19
+ import { useDrag } from 'react-dnd';
20
+ import { useApplicationStore } from '@finos/legend-application';
21
+ import { guaranteeNonNullable, prettyCONSTName } from '@finos/legend-shared';
22
+ import { flowResult } from 'mobx';
23
+ import { DATA_QUALITY_VALIDATION_TEST_ID } from './constants/DataQualityConstants.js';
24
+ import { QUERY_BUILDER_EXPLORER_TREE_DND_TYPE, QueryBuilderExplorerTreePropertyNodeData, QueryBuilderExplorerTreeRootNodeData, QueryBuilderExplorerTreeSubTypeNodeData, checkForDeprecatedNode, getQueryBuilderPropertyNodeData, getQueryBuilderSubTypeNodeData, QueryBuilderPropertyInfoTooltip, QueryBuilderRootClassInfoTooltip, QueryBuilderSubclassInfoTooltip, renderPropertyTypeIcon, getQueryBuilderExplorerTreeNodeSortRank, } from '@finos/legend-query-builder';
25
+ import { CheckIcon, ChevronDownIcon, ChevronRightIcon, clsx, CompressIcon, InfoCircleIcon, MenuContentItemIcon, MenuContentItemLabel, MoreVerticalIcon, PanelHeaderActions, BlankPanelContent, DragPreviewLayer, MenuContent, MenuContentItem, PanelHeader, PanelHeaderActionItem, PanelLoadingIndicator, PURE_ClassIcon, TreeView, useDragPreviewLayer, ControlledDropdownMenu, } from '@finos/legend-art';
26
+ import { Class, DerivedProperty, Enumeration, PrimitiveType, TYPE_CAST_TOKEN, getAllClassDerivedProperties, getAllClassProperties, } from '@finos/legend-graph';
27
+ export const QueryBuilderExplorerTreeNodeContainer = observer((props) => {
28
+ const { node, level, stepPaddingInRem, onNodeSelect, innerProps } = props;
29
+ const { dataQualityState } = innerProps;
30
+ const { dataQualityQueryBuilderState } = dataQualityState;
31
+ const [isSelectedFromContextMenu] = useState(false);
32
+ const explorerState = dataQualityQueryBuilderState.explorerState;
33
+ const [, dragConnector, dragPreviewConnector] = useDrag(() => ({
34
+ type: node.type instanceof Enumeration
35
+ ? QUERY_BUILDER_EXPLORER_TREE_DND_TYPE.ENUM_PROPERTY
36
+ : node.type instanceof Class
37
+ ? QUERY_BUILDER_EXPLORER_TREE_DND_TYPE.CLASS_PROPERTY
38
+ : QUERY_BUILDER_EXPLORER_TREE_DND_TYPE.PRIMITIVE_PROPERTY,
39
+ item: () => node instanceof QueryBuilderExplorerTreeSubTypeNodeData
40
+ ? {}
41
+ : { node },
42
+ }), [node]);
43
+ useDragPreviewLayer(dragPreviewConnector);
44
+ const isExpandable = Boolean(node.childrenIds.length);
45
+ const isDerivedProperty = node instanceof QueryBuilderExplorerTreePropertyNodeData &&
46
+ node.property instanceof DerivedProperty;
47
+ const isMultiple = (node instanceof QueryBuilderExplorerTreePropertyNodeData &&
48
+ (node.property.multiplicity.upperBound === undefined ||
49
+ node.property.multiplicity.upperBound > 1)) ||
50
+ (node instanceof QueryBuilderExplorerTreeSubTypeNodeData &&
51
+ (node.multiplicity.upperBound === undefined ||
52
+ node.multiplicity.upperBound > 1));
53
+ const allowPreview = node.mappingData.mapped &&
54
+ node instanceof QueryBuilderExplorerTreePropertyNodeData &&
55
+ node.type instanceof PrimitiveType &&
56
+ !node.isPartOfDerivedPropertyBranch;
57
+ const nodeExpandIcon = isExpandable ? (node.isOpen ? (_jsx(ChevronDownIcon, {})) : (_jsx(ChevronRightIcon, {}))) : (_jsx("div", {}));
58
+ const propertyName = explorerState.humanizePropertyName
59
+ ? node instanceof QueryBuilderExplorerTreeSubTypeNodeData
60
+ ? TYPE_CAST_TOKEN + prettyCONSTName(node.label)
61
+ : prettyCONSTName(node.label)
62
+ : node instanceof QueryBuilderExplorerTreeSubTypeNodeData
63
+ ? TYPE_CAST_TOKEN + node.label
64
+ : node.label;
65
+ const selectNode = () => onNodeSelect?.(node);
66
+ if (!node.mappingData.mapped &&
67
+ // NOTE: we always want to show at least the root node
68
+ !(node instanceof QueryBuilderExplorerTreeRootNodeData) &&
69
+ !explorerState.showUnmappedProperties) {
70
+ return null;
71
+ }
72
+ return (_jsxs("div", { className: clsx('data-quality-tree-view__node__container data-quality-validation-explorer-tree__node__container', {
73
+ 'data-quality-validation-explorer-tree__node__container--selected-from-context-menu': isSelectedFromContextMenu,
74
+ 'data-quality-validation-explorer-tree__node__container--unmapped': !node.mappingData.mapped,
75
+ 'data-quality-validation-explorer-tree__node__container--selected': node.isSelected,
76
+ }), title: !node.mappingData.mapped
77
+ ? node instanceof QueryBuilderExplorerTreeRootNodeData
78
+ ? 'Root class is not mapped'
79
+ : 'Property is not mapped'
80
+ : undefined, onClick: selectNode, ref: node.mappingData.mapped ? dragConnector : undefined, style: {
81
+ paddingLeft: `${(level - 1) * (stepPaddingInRem ?? 1) + 0.5}rem`,
82
+ display: 'flex',
83
+ }, children: [node instanceof QueryBuilderExplorerTreeRootNodeData && (_jsxs(_Fragment, { children: [_jsxs("div", { className: "data-quality-tree-view__node__icon data-quality-validation-explorer-tree__node__icon", children: [_jsx("div", { className: "data-quality-validation-explorer-tree__expand-icon", children: nodeExpandIcon }), _jsx("div", { className: "data-quality-validation-explorer-tree__type-icon", children: _jsx(PURE_ClassIcon, {}) })] }), _jsx("div", { className: "data-quality-tree-view__node__label data-quality-validation-explorer-tree__node__label data-quality-validation-explorer-tree__node__label--with-action", children: node.label }), _jsx("div", { className: "data-quality-validation-explorer-tree__node__actions", children: _jsx(QueryBuilderRootClassInfoTooltip, { _class: guaranteeNonNullable(dataQualityQueryBuilderState.class), children: _jsx("div", { className: "data-quality-validation-explorer-tree__node__action data-quality-validation-explorer-tree__node__info", "data-testid": DATA_QUALITY_VALIDATION_TEST_ID.DATA_QUALITY_VALIDATION_TOOLTIP_ICON, children: _jsx(InfoCircleIcon, {}) }) }) })] })), (node instanceof QueryBuilderExplorerTreePropertyNodeData ||
84
+ node instanceof QueryBuilderExplorerTreeSubTypeNodeData) && (_jsxs(_Fragment, { children: [_jsxs("div", { className: "data-quality-tree-view__node__icon data-quality-validation-explorer-tree__node__icon", ref: node.elementRef, children: [_jsx("div", { className: "data-quality-validation-explorer-tree__expand-icon", children: nodeExpandIcon }), _jsx("div", { className: "data-quality-validation-explorer-tree__type-icon", children: renderPropertyTypeIcon(node.type) })] }), _jsxs("div", { className: clsx('data-quality-tree-view__node__label data-quality-validation-explorer-tree__node__label data-quality-validation-explorer-tree__node__label--with-action', {
85
+ 'data-quality-validation-explorer-tree__node__label--with-preview': allowPreview,
86
+ }, {
87
+ 'data-quality-validation-explorer-tree__node__label--highlight': node.isHighlighting,
88
+ }), onAnimationEnd: () => node.setIsHighlighting(false), children: [_jsx("div", { className: clsx('data-quality-validation-explorer-tree__node__label--property__name', {
89
+ 'data-quality-validation-explorer-tree__node__label--deprecated': checkForDeprecatedNode(node, explorerState.queryBuilderState.graphManagerState.graph, explorerState.nonNullableTreeData),
90
+ }), children: propertyName }), isDerivedProperty && (_jsx("div", { className: "data-quality-validation-explorer-tree__node__label__derived-property", title: "Property is derived and may require user to specify parameter values", children: "(...)" })), isMultiple && (_jsx("div", { className: "data-quality-validation-explorer-tree__node__label__multiple", title: "Multiple values of this property can cause row explosion", children: "*" }))] }), _jsxs("div", { className: "data-quality-validation-explorer-tree__node__actions", children: [node instanceof QueryBuilderExplorerTreePropertyNodeData && (_jsx(QueryBuilderPropertyInfoTooltip, { title: propertyName, property: node.property, path: node.id, isMapped: node.mappingData.mapped, type: node.type, children: _jsx("div", { className: "data-quality-validation-explorer-tree__node__action data-quality-validation-explorer-tree__node__info", "data-testid": DATA_QUALITY_VALIDATION_TEST_ID.DATA_QUALITY_VALIDATION_TOOLTIP_ICON, children: _jsx(InfoCircleIcon, {}) }) })), node instanceof QueryBuilderExplorerTreeSubTypeNodeData && (_jsx(QueryBuilderSubclassInfoTooltip, { subclass: node.subclass, path: node.id, isMapped: node.mappingData.mapped, multiplicity: node.multiplicity, children: _jsx("div", { className: "data-quality-validation-explorer-tree__node__action data-quality-validation-explorer-tree__node__info", "data-testid": DATA_QUALITY_VALIDATION_TEST_ID.DATA_QUALITY_VALIDATION_TOOLTIP_ICON, children: _jsx(InfoCircleIcon, {}) }) }))] })] }))] }));
91
+ });
92
+ const QueryBuilderExplorerTreeNodeView = observer((props) => {
93
+ const { node, level, onNodeSelect, getChildNodes, stepPaddingInRem, innerProps, } = props;
94
+ const { dataQualityState } = innerProps;
95
+ const { dataQualityQueryBuilderState } = dataQualityState;
96
+ if (!node.mappingData.mapped &&
97
+ // NOTE: we always want to show at least the root node
98
+ !(node instanceof QueryBuilderExplorerTreeRootNodeData) &&
99
+ !dataQualityQueryBuilderState.explorerState.showUnmappedProperties) {
100
+ return null;
101
+ }
102
+ return (_jsxs("div", { className: "data-quality-tree-view__node__block", children: [_jsx(QueryBuilderExplorerTreeNodeContainer, { node: node, level: level + 1, stepPaddingInRem: stepPaddingInRem, onNodeSelect: onNodeSelect, innerProps: innerProps }), node.isOpen &&
103
+ getChildNodes(node).map((childNode) => (_jsx(QueryBuilderExplorerTreeNodeView, { node: childNode, level: level + 1, onNodeSelect: onNodeSelect, getChildNodes: getChildNodes, innerProps: innerProps }, childNode.id)))] }));
104
+ });
105
+ const QueryBuilderExplorerTree = observer((props) => {
106
+ const { dataQualityState } = props;
107
+ const { dataQualityQueryBuilderState } = dataQualityState;
108
+ const explorerState = dataQualityQueryBuilderState.explorerState;
109
+ const treeData = explorerState.nonNullableTreeData;
110
+ const onNodeSelect = (node) => {
111
+ if (node.childrenIds.length) {
112
+ node.isOpen = !node.isOpen;
113
+ if (node.isOpen &&
114
+ node instanceof QueryBuilderExplorerTreePropertyNodeData &&
115
+ node.type instanceof Class) {
116
+ getAllClassProperties(node.type)
117
+ .concat(getAllClassDerivedProperties(node.type))
118
+ .forEach((property) => {
119
+ const propertyTreeNodeData = getQueryBuilderPropertyNodeData(property, node, guaranteeNonNullable(explorerState.mappingModelCoverageAnalysisResult));
120
+ if (propertyTreeNodeData) {
121
+ treeData.nodes.set(propertyTreeNodeData.id, propertyTreeNodeData);
122
+ }
123
+ });
124
+ node.type._subclasses.forEach((subclass) => {
125
+ const subTypeTreeNodeData = getQueryBuilderSubTypeNodeData(subclass, node, guaranteeNonNullable(explorerState.mappingModelCoverageAnalysisResult));
126
+ treeData.nodes.set(subTypeTreeNodeData.id, subTypeTreeNodeData);
127
+ });
128
+ }
129
+ }
130
+ explorerState.refreshTree();
131
+ };
132
+ const getChildNodes = (node) => {
133
+ const dataToReturn = node.childrenIds
134
+ .map((id) => treeData.nodes.get(id))
135
+ .filter((childNode) => childNode instanceof QueryBuilderExplorerTreeSubTypeNodeData ||
136
+ childNode instanceof QueryBuilderExplorerTreePropertyNodeData)
137
+ // simple properties come first
138
+ .sort((a, b) => a.label.localeCompare(b.label))
139
+ .sort((a, b) => getQueryBuilderExplorerTreeNodeSortRank(b) -
140
+ getQueryBuilderExplorerTreeNodeSortRank(a));
141
+ return dataToReturn;
142
+ };
143
+ return (_jsx(TreeView, { components: {
144
+ TreeNodeContainer: QueryBuilderExplorerTreeNodeContainer,
145
+ TreeNodeView: QueryBuilderExplorerTreeNodeView,
146
+ }, className: "data-quality-validation-explorer-tree__root", treeData: treeData, onNodeSelect: onNodeSelect, getChildNodes: getChildNodes, innerProps: {
147
+ dataQualityState,
148
+ } }));
149
+ });
150
+ export const DataQualityExplorerPanel = observer((props) => {
151
+ const { dataQualityState } = props;
152
+ const { dataQualityQueryBuilderState } = dataQualityState;
153
+ const explorerState = dataQualityQueryBuilderState.explorerState;
154
+ const applicationStore = useApplicationStore();
155
+ const collapseTree = () => {
156
+ if (explorerState.treeData) {
157
+ Array.from(explorerState.treeData.nodes.values()).forEach((node) => {
158
+ node.isOpen = false;
159
+ });
160
+ explorerState.refreshTree();
161
+ }
162
+ };
163
+ const toggleShowUnmappedProperties = () => explorerState.setShowUnmappedProperties(!explorerState.showUnmappedProperties);
164
+ const toggleHumanizePropertyName = () => explorerState.setHumanizePropertyName(!explorerState.humanizePropertyName);
165
+ const toggleHighlightUsedProperties = () => explorerState.setHighlightUsedProperties(!explorerState.highlightUsedProperties);
166
+ useEffect(() => {
167
+ flowResult(explorerState.analyzeMappingModelCoverage()).catch((error) => {
168
+ applicationStore.alertUnhandledError(error);
169
+ });
170
+ }, [
171
+ applicationStore,
172
+ explorerState,
173
+ dataQualityQueryBuilderState.executionContextState.mapping,
174
+ ]);
175
+ return (_jsxs("div", { "data-testid": DATA_QUALITY_VALIDATION_TEST_ID.DATA_QUALITY_VALIDATION_EXPLORER, className: clsx('panel data-quality-validation__explorer', {
176
+ backdrop__element: applicationStore.layoutService.showBackdrop,
177
+ }), children: [_jsx(PanelHeader, { title: "explorer", children: _jsxs(PanelHeaderActions, { children: [_jsx(PanelHeaderActionItem, { onClick: collapseTree, title: "Collapse Tree", children: _jsx(CompressIcon, {}) }), _jsx(ControlledDropdownMenu, { className: "panel__header__action", title: "Show Options Menu...", content: _jsxs(MenuContent, { children: [_jsxs(MenuContentItem, { onClick: toggleShowUnmappedProperties, children: [_jsx(MenuContentItemIcon, { children: explorerState.showUnmappedProperties ? (_jsx(CheckIcon, {})) : null }), _jsx(MenuContentItemLabel, { children: "Show Unmapped Properties" })] }), _jsxs(MenuContentItem, { onClick: toggleHumanizePropertyName, children: [_jsx(MenuContentItemIcon, { children: explorerState.humanizePropertyName ? (_jsx(CheckIcon, {})) : null }), _jsx(MenuContentItemLabel, { children: "Humanize Property Name" })] }), _jsxs(MenuContentItem, { onClick: toggleHighlightUsedProperties, children: [_jsx(MenuContentItemIcon, { children: explorerState.highlightUsedProperties ? (_jsx(CheckIcon, {})) : null }), _jsx(MenuContentItemLabel, { children: "Highlight already used properties" })] })] }), menuProps: {
178
+ anchorOrigin: { vertical: 'bottom', horizontal: 'left' },
179
+ transformOrigin: { vertical: 'top', horizontal: 'left' },
180
+ elevation: 7,
181
+ }, children: _jsx(MoreVerticalIcon, { className: "data-quality-validation__icon__more-options" }) })] }) }), _jsxs("div", { className: "panel__content data-quality-validation-explorer-tree__content", children: [_jsx(PanelLoadingIndicator, { isLoading: explorerState.mappingModelCoverageAnalysisState.isInProgress }), _jsx(DragPreviewLayer, { labelGetter: (item) => explorerState.humanizePropertyName
182
+ ? prettyCONSTName(item.node.label)
183
+ : item.node.label, types: Object.values(QUERY_BUILDER_EXPLORER_TREE_DND_TYPE) }), explorerState.mappingModelCoverageAnalysisState.isInProgress ? (_jsx(BlankPanelContent, { children: explorerState.mappingModelCoverageAnalysisState.message })) : (_jsxs(_Fragment, { children: [!explorerState.treeData && (_jsx(BlankPanelContent, { children: "Specify the class, mapping, and runtime to start building query" })), explorerState.treeData && (_jsx(QueryBuilderExplorerTree, { dataQualityState: dataQualityState }))] }))] })] }));
184
+ });
185
+ //# sourceMappingURL=DataQualityExplorerPanel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DataQualityExplorerPanel.js","sourceRoot":"","sources":["../../src/components/DataQualityExplorerPanel.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE7E,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAClC,OAAO,EAAE,+BAA+B,EAAE,MAAM,qCAAqC,CAAC;AACtF,OAAO,EAGL,oCAAoC,EACpC,wCAAwC,EACxC,oCAAoC,EACpC,uCAAuC,EACvC,sBAAsB,EACtB,+BAA+B,EAC/B,8BAA8B,EAC9B,+BAA+B,EAC/B,gCAAgC,EAChC,+BAA+B,EAC/B,sBAAsB,EACtB,uCAAuC,GACxC,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAGL,SAAS,EACT,eAAe,EACf,gBAAgB,EAChB,IAAI,EACJ,YAAY,EACZ,cAAc,EACd,mBAAmB,EACnB,oBAAoB,EACpB,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,EAChB,WAAW,EACX,eAAe,EACf,WAAW,EACX,qBAAqB,EACrB,qBAAqB,EACrB,cAAc,EACd,QAAQ,EACR,mBAAmB,EACnB,sBAAsB,GACvB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,KAAK,EACL,eAAe,EACf,WAAW,EACX,aAAa,EACb,eAAe,EACf,4BAA4B,EAC5B,qBAAqB,GACtB,MAAM,qBAAqB,CAAC;AAE7B,MAAM,CAAC,MAAM,qCAAqC,GAAG,QAAQ,CAC3D,CACE,KAKC,EACD,EAAE;IACF,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC;IAC1E,MAAM,EAAE,gBAAgB,EAAE,GAAG,UAAU,CAAC;IACxC,MAAM,EAAE,4BAA4B,EAAE,GAAG,gBAAgB,CAAC;IAC1D,MAAM,CAAC,yBAAyB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACpD,MAAM,aAAa,GAAG,4BAA4B,CAAC,aAAa,CAAC;IACjE,MAAM,CAAC,EAAE,aAAa,EAAE,oBAAoB,CAAC,GAAG,OAAO,CAGrD,GAAG,EAAE,CAAC,CAAC;QACL,IAAI,EACF,IAAI,CAAC,IAAI,YAAY,WAAW;YAC9B,CAAC,CAAC,oCAAoC,CAAC,aAAa;YACpD,CAAC,CAAC,IAAI,CAAC,IAAI,YAAY,KAAK;gBAC1B,CAAC,CAAC,oCAAoC,CAAC,cAAc;gBACrD,CAAC,CAAC,oCAAoC,CAAC,kBAAkB;QAC/D,IAAI,EAAE,GAAG,EAAE,CACT,IAAI,YAAY,uCAAuC;YACrD,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,IAAI,EAAE;KACf,CAAC,EACF,CAAC,IAAI,CAAC,CACP,CAAC;IACF,mBAAmB,CAAC,oBAAoB,CAAC,CAAC;IAE1C,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IACtD,MAAM,iBAAiB,GACrB,IAAI,YAAY,wCAAwC;QACxD,IAAI,CAAC,QAAQ,YAAY,eAAe,CAAC;IAC3C,MAAM,UAAU,GACd,CAAC,IAAI,YAAY,wCAAwC;QACvD,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,UAAU,KAAK,SAAS;YAClD,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;QAC/C,CAAC,IAAI,YAAY,uCAAuC;YACtD,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,KAAK,SAAS;gBACzC,IAAI,CAAC,YAAY,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC;IACzC,MAAM,YAAY,GAChB,IAAI,CAAC,WAAW,CAAC,MAAM;QACvB,IAAI,YAAY,wCAAwC;QACxD,IAAI,CAAC,IAAI,YAAY,aAAa;QAClC,CAAC,IAAI,CAAC,6BAA6B,CAAC;IACtC,MAAM,cAAc,GAAG,YAAY,CAAC,CAAC,CAAC,CACpC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CACZ,KAAC,eAAe,KAAG,CACpB,CAAC,CAAC,CAAC,CACF,KAAC,gBAAgB,KAAG,CACrB,CACF,CAAC,CAAC,CAAC,CACF,eAAO,CACR,CAAC;IACF,MAAM,YAAY,GAAG,aAAa,CAAC,oBAAoB;QACrD,CAAC,CAAC,IAAI,YAAY,uCAAuC;YACvD,CAAC,CAAC,eAAe,GAAG,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC;YAC/C,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC;QAC/B,CAAC,CAAC,IAAI,YAAY,uCAAuC;YACvD,CAAC,CAAC,eAAe,GAAG,IAAI,CAAC,KAAK;YAC9B,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;IACjB,MAAM,UAAU,GAAG,GAAS,EAAE,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,CAAC;IAEpD,IACE,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM;QACxB,sDAAsD;QACtD,CAAC,CAAC,IAAI,YAAY,oCAAoC,CAAC;QACvD,CAAC,aAAa,CAAC,sBAAsB,EACrC,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,CACL,eACE,SAAS,EAAE,IAAI,CACb,gGAAgG,EAChG;YACE,oFAAoF,EAClF,yBAAyB;YAC3B,kEAAkE,EAChE,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM;YAC1B,kEAAkE,EAChE,IAAI,CAAC,UAAU;SAClB,CACF,EACD,KAAK,EACH,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM;YACtB,CAAC,CAAC,IAAI,YAAY,oCAAoC;gBACpD,CAAC,CAAC,0BAA0B;gBAC5B,CAAC,CAAC,wBAAwB;YAC5B,CAAC,CAAC,SAAS,EAEf,OAAO,EAAE,UAAU,EACnB,GAAG,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,EACxD,KAAK,EAAE;YACL,WAAW,EAAE,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,gBAAgB,IAAI,CAAC,CAAC,GAAG,GAAG,KAAK;YAChE,OAAO,EAAE,MAAM;SAChB,aAEA,IAAI,YAAY,oCAAoC,IAAI,CACvD,8BACE,eAAK,SAAS,EAAC,sFAAsF,aACnG,cAAK,SAAS,EAAC,oDAAoD,YAChE,cAAc,GACX,EACN,cAAK,SAAS,EAAC,kDAAkD,YAC/D,KAAC,cAAc,KAAG,GACd,IACF,EACN,cAAK,SAAS,EAAC,wJAAwJ,YACpK,IAAI,CAAC,KAAK,GACP,EACN,cAAK,SAAS,EAAC,sDAAsD,YACnE,KAAC,gCAAgC,IAC/B,MAAM,EAAE,oBAAoB,CAC1B,4BAA4B,CAAC,KAAK,CACnC,YAED,cACE,SAAS,EAAC,uGAAuG,iBAE/G,+BAA+B,CAAC,oCAAoC,YAGtE,KAAC,cAAc,KAAG,GACd,GAC2B,GAC/B,IACL,CACJ,EACA,CAAC,IAAI,YAAY,wCAAwC;gBACxD,IAAI,YAAY,uCAAuC,CAAC,IAAI,CAC5D,8BACE,eACE,SAAS,EAAC,sFAAsF,EAChG,GAAG,EAAE,IAAI,CAAC,UAAU,aAEpB,cAAK,SAAS,EAAC,oDAAoD,YAChE,cAAc,GACX,EACN,cAAK,SAAS,EAAC,kDAAkD,YAC9D,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,GAC9B,IACF,EACN,eACE,SAAS,EAAE,IAAI,CACb,wJAAwJ,EACxJ;4BACE,kEAAkE,EAChE,YAAY;yBACf,EACD;4BACE,+DAA+D,EAC7D,IAAI,CAAC,cAAc;yBACtB,CACF,EACD,cAAc,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,aAEnD,cACE,SAAS,EAAE,IAAI,CACb,oEAAoE,EACpE;oCACE,gEAAgE,EAC9D,sBAAsB,CACpB,IAAI,EACJ,aAAa,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,KAAK,EACvD,aAAa,CAAC,mBAAmB,CAClC;iCACJ,CACF,YAEA,YAAY,GACT,EACL,iBAAiB,IAAI,CACpB,cACE,SAAS,EAAC,sEAAsE,EAChF,KAAK,EAAC,sEAAsE,sBAGxE,CACP,EACA,UAAU,IAAI,CACb,cACE,SAAS,EAAC,8DAA8D,EACxE,KAAK,EAAC,0DAA0D,kBAG5D,CACP,IACG,EACN,eAAK,SAAS,EAAC,sDAAsD,aAClE,IAAI,YAAY,wCAAwC,IAAI,CAC3D,KAAC,+BAA+B,IAC9B,KAAK,EAAE,YAAY,EACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,IAAI,EAAE,IAAI,CAAC,EAAE,EACb,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM,EACjC,IAAI,EAAE,IAAI,CAAC,IAAI,YAEf,cACE,SAAS,EAAC,uGAAuG,iBAE/G,+BAA+B,CAAC,oCAAoC,YAGtE,KAAC,cAAc,KAAG,GACd,GAC0B,CACnC,EACA,IAAI,YAAY,uCAAuC,IAAI,CAC1D,KAAC,+BAA+B,IAC9B,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,IAAI,EAAE,IAAI,CAAC,EAAE,EACb,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM,EACjC,YAAY,EAAE,IAAI,CAAC,YAAY,YAE/B,cACE,SAAS,EAAC,uGAAuG,iBAE/G,+BAA+B,CAAC,oCAAoC,YAGtE,KAAC,cAAc,KAAG,GACd,GAC0B,CACnC,IACG,IACL,CACJ,IACG,CACP,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,MAAM,gCAAgC,GAAG,QAAQ,CAC/C,CACE,KAKC,EACD,EAAE;IACF,MAAM,EACJ,IAAI,EACJ,KAAK,EACL,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,UAAU,GACX,GAAG,KAAK,CAAC;IACV,MAAM,EAAE,gBAAgB,EAAE,GAAG,UAAU,CAAC;IACxC,MAAM,EAAE,4BAA4B,EAAE,GAAG,gBAAgB,CAAC;IAC1D,IACE,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM;QACxB,sDAAsD;QACtD,CAAC,CAAC,IAAI,YAAY,oCAAoC,CAAC;QACvD,CAAC,4BAA4B,CAAC,aAAa,CAAC,sBAAsB,EAClE,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,CACL,eAAK,SAAS,EAAC,qCAAqC,aAClD,KAAC,qCAAqC,IACpC,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,KAAK,GAAG,CAAC,EAChB,gBAAgB,EAAE,gBAAgB,EAClC,YAAY,EAAE,YAAY,EAC1B,UAAU,EAAE,UAAU,GACtB,EACD,IAAI,CAAC,MAAM;gBACV,aAAa,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CACrC,KAAC,gCAAgC,IAE/B,IAAI,EAAE,SAAS,EACf,KAAK,EAAE,KAAK,GAAG,CAAC,EAChB,YAAY,EAAE,YAAY,EAC1B,aAAa,EAAE,aAAa,EAC5B,UAAU,EAAE,UAAU,IALjB,SAAS,CAAC,EAAE,CAMjB,CACH,CAAC,IACA,CACP,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,MAAM,wBAAwB,GAAG,QAAQ,CACvC,CAAC,KAA6C,EAAE,EAAE;IAChD,MAAM,EAAE,gBAAgB,EAAE,GAAG,KAAK,CAAC;IACnC,MAAM,EAAE,4BAA4B,EAAE,GAAG,gBAAgB,CAAC;IAC1D,MAAM,aAAa,GAAG,4BAA4B,CAAC,aAAa,CAAC;IACjE,MAAM,QAAQ,GAAG,aAAa,CAAC,mBAAmB,CAAC;IACnD,MAAM,YAAY,GAAG,CAAC,IAAsC,EAAQ,EAAE;QACpE,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;YAC5B,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;YAC3B,IACE,IAAI,CAAC,MAAM;gBACX,IAAI,YAAY,wCAAwC;gBACxD,IAAI,CAAC,IAAI,YAAY,KAAK,EAC1B,CAAC;gBACD,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC;qBAC7B,MAAM,CAAC,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;qBAC/C,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;oBACpB,MAAM,oBAAoB,GAAG,+BAA+B,CAC1D,QAAQ,EACR,IAAI,EACJ,oBAAoB,CAClB,aAAa,CAAC,kCAAkC,CACjD,CACF,CAAC;oBACF,IAAI,oBAAoB,EAAE,CAAC;wBACzB,QAAQ,CAAC,KAAK,CAAC,GAAG,CAChB,oBAAoB,CAAC,EAAE,EACvB,oBAAoB,CACrB,CAAC;oBACJ,CAAC;gBACH,CAAC,CAAC,CAAC;gBACL,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;oBACzC,MAAM,mBAAmB,GAAG,8BAA8B,CACxD,QAAQ,EACR,IAAI,EACJ,oBAAoB,CAClB,aAAa,CAAC,kCAAkC,CACjD,CACF,CAAC;oBACF,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,mBAAmB,CAAC,EAAE,EAAE,mBAAmB,CAAC,CAAC;gBAClE,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QACD,aAAa,CAAC,WAAW,EAAE,CAAC;IAC9B,CAAC,CAAC;IACF,MAAM,aAAa,GAAG,CACpB,IAAsC,EACF,EAAE;QACtC,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW;aAClC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;aACnC,MAAM,CACL,CACE,SAAS,EAGiC,EAAE,CAC5C,SAAS,YAAY,uCAAuC;YAC5D,SAAS,YAAY,wCAAwC,CAChE;YACD,+BAA+B;aAC9B,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;aAC9C,IAAI,CACH,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACP,uCAAuC,CAAC,CAAC,CAAC;YAC1C,uCAAuC,CAAC,CAAC,CAAC,CAC7C,CAAC;QACJ,OAAO,YAAY,CAAC;IACtB,CAAC,CAAC;IAEF,OAAO,CACL,KAAC,QAAQ,IACP,UAAU,EAAE;YACV,iBAAiB,EAAE,qCAAqC;YACxD,YAAY,EAAE,gCAAgC;SAC/C,EACD,SAAS,EAAC,6CAA6C,EACvD,QAAQ,EAAE,QAAQ,EAClB,YAAY,EAAE,YAAY,EAC1B,aAAa,EAAE,aAAa,EAC5B,UAAU,EAAE;YACV,gBAAgB;SACjB,GACD,CACH,CAAC;AACJ,CAAC,CACF,CAAC;AACF,MAAM,CAAC,MAAM,wBAAwB,GAAG,QAAQ,CAC9C,CAAC,KAA6C,EAAE,EAAE;IAChD,MAAM,EAAE,gBAAgB,EAAE,GAAG,KAAK,CAAC;IACnC,MAAM,EAAE,4BAA4B,EAAE,GAAG,gBAAgB,CAAC;IAC1D,MAAM,aAAa,GAAG,4BAA4B,CAAC,aAAa,CAAC;IACjE,MAAM,gBAAgB,GAAG,mBAAmB,EAAE,CAAC;IAC/C,MAAM,YAAY,GAAG,GAAS,EAAE;QAC9B,IAAI,aAAa,CAAC,QAAQ,EAAE,CAAC;YAC3B,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;gBACjE,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;YACtB,CAAC,CAAC,CAAC;YACH,aAAa,CAAC,WAAW,EAAE,CAAC;QAC9B,CAAC;IACH,CAAC,CAAC;IACF,MAAM,4BAA4B,GAAG,GAAS,EAAE,CAC9C,aAAa,CAAC,yBAAyB,CACrC,CAAC,aAAa,CAAC,sBAAsB,CACtC,CAAC;IACJ,MAAM,0BAA0B,GAAG,GAAS,EAAE,CAC5C,aAAa,CAAC,uBAAuB,CACnC,CAAC,aAAa,CAAC,oBAAoB,CACpC,CAAC;IACJ,MAAM,6BAA6B,GAAG,GAAS,EAAE,CAC/C,aAAa,CAAC,0BAA0B,CACtC,CAAC,aAAa,CAAC,uBAAuB,CACvC,CAAC;IAEJ,SAAS,CAAC,GAAG,EAAE;QACb,UAAU,CAAC,aAAa,CAAC,2BAA2B,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YACtE,gBAAgB,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;IACL,CAAC,EAAE;QACD,gBAAgB;QAChB,aAAa;QACb,4BAA4B,CAAC,qBAAqB,CAAC,OAAO;KAC3D,CAAC,CAAC;IACH,OAAO,CACL,8BAEI,+BAA+B,CAAC,gCAAgC,EAElE,SAAS,EAAE,IAAI,CAAC,yCAAyC,EAAE;YACzD,iBAAiB,EAAE,gBAAgB,CAAC,aAAa,CAAC,YAAY;SAC/D,CAAC,aAEF,KAAC,WAAW,IAAC,KAAK,EAAC,UAAU,YAC3B,MAAC,kBAAkB,eACjB,KAAC,qBAAqB,IAAC,OAAO,EAAE,YAAY,EAAE,KAAK,EAAC,eAAe,YACjE,KAAC,YAAY,KAAG,GACM,EACxB,KAAC,sBAAsB,IACrB,SAAS,EAAC,uBAAuB,EACjC,KAAK,EAAC,sBAAsB,EAC5B,OAAO,EACL,MAAC,WAAW,eACV,MAAC,eAAe,IAAC,OAAO,EAAE,4BAA4B,aACpD,KAAC,mBAAmB,cACjB,aAAa,CAAC,sBAAsB,CAAC,CAAC,CAAC,CACtC,KAAC,SAAS,KAAG,CACd,CAAC,CAAC,CAAC,IAAI,GACY,EACtB,KAAC,oBAAoB,2CAEE,IACP,EAClB,MAAC,eAAe,IAAC,OAAO,EAAE,0BAA0B,aAClD,KAAC,mBAAmB,cACjB,aAAa,CAAC,oBAAoB,CAAC,CAAC,CAAC,CACpC,KAAC,SAAS,KAAG,CACd,CAAC,CAAC,CAAC,IAAI,GACY,EACtB,KAAC,oBAAoB,yCAEE,IACP,EAClB,MAAC,eAAe,IAAC,OAAO,EAAE,6BAA6B,aACrD,KAAC,mBAAmB,cACjB,aAAa,CAAC,uBAAuB,CAAC,CAAC,CAAC,CACvC,KAAC,SAAS,KAAG,CACd,CAAC,CAAC,CAAC,IAAI,GACY,EACtB,KAAC,oBAAoB,oDAEE,IACP,IACN,EAEhB,SAAS,EAAE;gCACT,YAAY,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE;gCACxD,eAAe,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE;gCACxD,SAAS,EAAE,CAAC;6BACb,YAED,KAAC,gBAAgB,IAAC,SAAS,EAAC,6CAA6C,GAAG,GACrD,IACN,GACT,EAEd,eAAK,SAAS,EAAC,+DAA+D,aAC5E,KAAC,qBAAqB,IACpB,SAAS,EACP,aAAa,CAAC,iCAAiC,CAAC,YAAY,GAE9D,EACF,KAAC,gBAAgB,IACf,WAAW,EAAE,CAAC,IAAwC,EAAU,EAAE,CAChE,aAAa,CAAC,oBAAoB;4BAChC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;4BAClC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAErB,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,oCAAoC,CAAC,GAC1D,EACD,aAAa,CAAC,iCAAiC,CAAC,YAAY,CAAC,CAAC,CAAC,CAC9D,KAAC,iBAAiB,cACf,aAAa,CAAC,iCAAiC,CAAC,OAAO,GACtC,CACrB,CAAC,CAAC,CAAC,CACF,8BACG,CAAC,aAAa,CAAC,QAAQ,IAAI,CAC1B,KAAC,iBAAiB,kFAGE,CACrB,EACA,aAAa,CAAC,QAAQ,IAAI,CACzB,KAAC,wBAAwB,IAAC,gBAAgB,EAAE,gBAAgB,GAAI,CACjE,IACA,CACJ,IACG,IACF,CACP,CAAC;AACJ,CAAC,CACF,CAAC"}
@@ -0,0 +1,24 @@
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
+ import type { DataQualityState } from './states/DataQualityState.js';
17
+ import { type QueryBuilderFilterState } from '@finos/legend-query-builder';
18
+ export declare const DataQualityFilterPanel: ((props: {
19
+ dataQualityState: DataQualityState;
20
+ filterState: QueryBuilderFilterState;
21
+ }) => import("react/jsx-runtime").JSX.Element) & {
22
+ displayName: string;
23
+ };
24
+ //# sourceMappingURL=DataQualityFilterPanel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DataQualityFilterPanel.d.ts","sourceRoot":"","sources":["../../src/components/DataQualityFilterPanel.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EACL,KAAK,uBAAuB,EAE7B,MAAM,6BAA6B,CAAC;AAIrC,eAAO,MAAM,sBAAsB,WACzB;IACN,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,WAAW,EAAE,uBAAuB,CAAC;CACtC;;CAoBF,CAAC"}
@@ -0,0 +1,32 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ /**
3
+ * Copyright (c) 2020-present, Goldman Sachs
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ import { observer } from 'mobx-react-lite';
18
+ import { QueryBuilderFilterPanel, } from '@finos/legend-query-builder';
19
+ import { useEffect } from 'react';
20
+ import { reaction } from 'mobx';
21
+ export const DataQualityFilterPanel = observer((props) => {
22
+ const { dataQualityState } = props;
23
+ const { dataQualityQueryBuilderState } = dataQualityState;
24
+ useEffect(() => {
25
+ const disposer = reaction(() => dataQualityQueryBuilderState.filterState.hashCode, () => {
26
+ dataQualityState.updateFilterElement();
27
+ });
28
+ return () => disposer();
29
+ }, [dataQualityState, dataQualityQueryBuilderState.filterState.hashCode]);
30
+ return (_jsx(QueryBuilderFilterPanel, { queryBuilderState: dataQualityQueryBuilderState }));
31
+ });
32
+ //# sourceMappingURL=DataQualityFilterPanel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DataQualityFilterPanel.js","sourceRoot":"","sources":["../../src/components/DataQualityFilterPanel.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE3C,OAAO,EAEL,uBAAuB,GACxB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAEhC,MAAM,CAAC,MAAM,sBAAsB,GAAG,QAAQ,CAC5C,CAAC,KAGA,EAAE,EAAE;IACH,MAAM,EAAE,gBAAgB,EAAE,GAAG,KAAK,CAAC;IACnC,MAAM,EAAE,4BAA4B,EAAE,GAAG,gBAAgB,CAAC;IAE1D,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,QAAQ,GAAG,QAAQ,CACvB,GAAG,EAAE,CAAC,4BAA4B,CAAC,WAAW,CAAC,QAAQ,EACvD,GAAG,EAAE;YACH,gBAAgB,CAAC,mBAAmB,EAAE,CAAC;QACzC,CAAC,CACF,CAAC;QACF,OAAO,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;IAC1B,CAAC,EAAE,CAAC,gBAAgB,EAAE,4BAA4B,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC;IAE1E,OAAO,CACL,KAAC,uBAAuB,IACtB,iBAAiB,EAAE,4BAA4B,GAC/C,CACH,CAAC;AACJ,CAAC,CACF,CAAC"}
@@ -0,0 +1,22 @@
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
+ import type { DataQualityClassValidationState } from './states/DataQualityClassValidationState.js';
17
+ export declare const DataQualityMappingAndRuntimeBuilder: ((props: {
18
+ dataQualityState: DataQualityClassValidationState;
19
+ }) => import("react/jsx-runtime").JSX.Element) & {
20
+ displayName: string;
21
+ };
22
+ //# sourceMappingURL=DataQualityMappingAndRuntimeBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DataQualityMappingAndRuntimeBuilder.d.ts","sourceRoot":"","sources":["../../src/components/DataQualityMappingAndRuntimeBuilder.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAwBH,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,6CAA6C,CAAC;AAMnG,eAAO,MAAM,mCAAmC,WACtC;IAAE,gBAAgB,EAAE,+BAA+B,CAAA;CAAE;;CAkL9D,CAAC"}
@@ -0,0 +1,98 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ /**
3
+ * Copyright (c) 2020-present, Goldman Sachs
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ import { observer } from 'mobx-react-lite';
18
+ import { useApplicationStore } from '@finos/legend-application';
19
+ import { buildElementOption, getPackageableElementOptionFormatter, } from '@finos/legend-lego/graph-editor';
20
+ import { getMappingCompatibleClasses, getMappingCompatibleRuntimes, PackageableElementExplicitReference, RuntimePointer, } from '@finos/legend-graph';
21
+ import { createFilter, CustomSelectorInput, PURE_MappingIcon, PURE_RuntimeIcon, } from '@finos/legend-art';
22
+ import { DataQualityClassSelector } from './DataQualitySideBar.js';
23
+ import { buildRuntimeValueOption, getRuntimeOptionFormatter, } from '@finos/legend-query-builder';
24
+ export const DataQualityMappingAndRuntimeBuilder = observer((props) => {
25
+ const { dataQualityState } = props;
26
+ const { dataQualityQueryBuilderState } = dataQualityState;
27
+ const applicationStore = useApplicationStore();
28
+ const getRuntimesBasedOnMapping = () => dataQualityQueryBuilderState.executionContextState.mapping
29
+ ? getMappingCompatibleRuntimes(dataQualityQueryBuilderState.executionContextState.mapping, dataQualityState.graphManagerState.usableRuntimes).map((rt) => new RuntimePointer(PackageableElementExplicitReference.create(rt)))
30
+ : [];
31
+ const mappingOptions = dataQualityState.graphManagerState.usableMappings.map(buildElementOption);
32
+ const selectedMappingOption = dataQualityQueryBuilderState
33
+ .executionContextState.mapping
34
+ ? buildElementOption(dataQualityQueryBuilderState.executionContextState.mapping)
35
+ : null;
36
+ const changeMapping = (val) => {
37
+ if (val.value ===
38
+ dataQualityQueryBuilderState.executionContextState.mapping ||
39
+ dataQualityState.isMappingReadOnly) {
40
+ return;
41
+ }
42
+ dataQualityState.changeMapping(val.value);
43
+ const runtimeOptions = getRuntimesBasedOnMapping();
44
+ if (runtimeOptions.length) {
45
+ dataQualityQueryBuilderState.changeRuntime(runtimeOptions[0]);
46
+ }
47
+ dataQualityState.updateElementOnMappingChange();
48
+ const classes = getMappingCompatibleClasses(dataQualityQueryBuilderState.executionContextState.mapping, dataQualityState.graphManagerState.usableClasses);
49
+ if (runtimeOptions.length && classes.length) {
50
+ dataQualityState.changeClass(classes[0]);
51
+ dataQualityState.updateElementOnClassChange();
52
+ }
53
+ };
54
+ const mappingFilterOption = createFilter({
55
+ ignoreCase: true,
56
+ ignoreAccents: false,
57
+ stringify: (option) => option.value.path,
58
+ });
59
+ const runtimeOptions = getRuntimesBasedOnMapping().map(buildRuntimeValueOption);
60
+ const selectedRuntimeOption = dataQualityQueryBuilderState
61
+ .executionContextState.runtimeValue
62
+ ? buildRuntimeValueOption(dataQualityQueryBuilderState.executionContextState.runtimeValue)
63
+ : null;
64
+ const classes = selectedRuntimeOption
65
+ ? getMappingCompatibleClasses(dataQualityQueryBuilderState.executionContextState.mapping, dataQualityState.graphManagerState.usableClasses)
66
+ : [];
67
+ const changeRuntime = (val) => {
68
+ if (val.value ===
69
+ dataQualityQueryBuilderState.executionContextState.runtimeValue ||
70
+ dataQualityState.isRuntimeReadOnly) {
71
+ return;
72
+ }
73
+ dataQualityQueryBuilderState.changeRuntime(val.value);
74
+ dataQualityState.updateElementOnRuntimeChange(val.value);
75
+ };
76
+ const runtimeFilterOption = createFilter({
77
+ ignoreCase: true,
78
+ ignoreAccents: false,
79
+ stringify: (option) => option.value instanceof RuntimePointer
80
+ ? option.value.packageableRuntime.value.path
81
+ : 'custom',
82
+ });
83
+ return (_jsxs(_Fragment, { children: [_jsxs("div", { className: "data-quality-validation__setup__config-group", children: [_jsx("div", { className: "data-quality-validation__setup__config-group__header", children: _jsx("div", { className: "data-quality-validation__setup__config-group__header__title", children: "execution context" }) }), _jsxs("div", { className: "data-quality-validation__setup__config-group__content", children: [_jsxs("div", { className: "data-quality-validation__setup__config-group__item", children: [_jsx("div", { className: "btn--sm data-quality-validation__setup__config-group__item__label", title: "mapping", children: _jsx(PURE_MappingIcon, {}) }), _jsx(CustomSelectorInput, { className: "panel__content__form__section__dropdown data-quality-validation__setup__config-group__item__selector", placeholder: mappingOptions.length
84
+ ? 'Choose a mapping...'
85
+ : 'No mapping found', disabled: dataQualityState.isMappingReadOnly, options: mappingOptions, onChange: changeMapping, value: selectedMappingOption, darkMode: !applicationStore.layoutService
86
+ .TEMPORARY__isLightColorThemeEnabled, filterOption: mappingFilterOption, formatOptionLabel: getPackageableElementOptionFormatter({
87
+ darkMode: !applicationStore.layoutService
88
+ .TEMPORARY__isLightColorThemeEnabled,
89
+ }) })] }), _jsxs("div", { className: "data-quality-validation__setup__config-group__item", children: [_jsx("div", { className: "btn--sm data-quality-validation__setup__config-group__item__label", title: "runtime", children: _jsx(PURE_RuntimeIcon, {}) }), _jsx(CustomSelectorInput, { className: "panel__content__form__section__dropdown data-quality-validation__setup__config-group__item__selector", placeholder: runtimeOptions.length
90
+ ? 'Choose a runtime...'
91
+ : 'No runtime found', disabled: dataQualityState.isRuntimeReadOnly ||
92
+ !dataQualityQueryBuilderState.executionContextState.mapping, options: runtimeOptions, onChange: changeRuntime, value: selectedRuntimeOption, darkMode: !applicationStore.layoutService
93
+ .TEMPORARY__isLightColorThemeEnabled, filterOption: runtimeFilterOption, formatOptionLabel: getRuntimeOptionFormatter({
94
+ darkMode: !applicationStore.layoutService
95
+ .TEMPORARY__isLightColorThemeEnabled,
96
+ }) })] })] })] }), _jsx(DataQualityClassSelector, { dataQualityState: dataQualityState, classes: classes })] }));
97
+ });
98
+ //# sourceMappingURL=DataQualityMappingAndRuntimeBuilder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DataQualityMappingAndRuntimeBuilder.js","sourceRoot":"","sources":["../../src/components/DataQualityMappingAndRuntimeBuilder.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
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
+ import type { DataQualityState } from './states/DataQualityState.js';
17
+ export declare const DataQualityResultPanel: ((props: {
18
+ dataQualityState: DataQualityState;
19
+ }) => import("react/jsx-runtime").JSX.Element) & {
20
+ displayName: string;
21
+ };
22
+ //# sourceMappingURL=DataQualityResultPanel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DataQualityResultPanel.d.ts","sourceRoot":"","sources":["../../src/components/DataQualityResultPanel.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAgDrE,eAAO,MAAM,sBAAsB,WACzB;IAAE,gBAAgB,EAAE,gBAAgB,CAAA;CAAE;;CA4Q/C,CAAC"}