@finos/legend-application-data-cube 0.2.4 → 0.2.6

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 (150) hide show
  1. package/README.md +1 -1
  2. package/lib/__lib__/LegendDataCubeNavigation.d.ts +9 -5
  3. package/lib/__lib__/LegendDataCubeNavigation.d.ts.map +1 -1
  4. package/lib/__lib__/LegendDataCubeNavigation.js +9 -5
  5. package/lib/__lib__/LegendDataCubeNavigation.js.map +1 -1
  6. package/lib/__lib__/LegendDataCubeUserData.d.ts +2 -2
  7. package/lib/__lib__/LegendDataCubeUserData.d.ts.map +1 -1
  8. package/lib/__lib__/LegendDataCubeUserData.js +2 -2
  9. package/lib/__lib__/LegendDataCubeUserData.js.map +1 -1
  10. package/lib/application/LegendDataCubeApplicationConfig.d.ts +4 -0
  11. package/lib/application/LegendDataCubeApplicationConfig.d.ts.map +1 -1
  12. package/lib/application/LegendDataCubeApplicationConfig.js +5 -0
  13. package/lib/application/LegendDataCubeApplicationConfig.js.map +1 -1
  14. package/lib/components/LegendDataCubeBlockingWindow.d.ts +29 -0
  15. package/lib/components/LegendDataCubeBlockingWindow.d.ts.map +1 -0
  16. package/lib/components/LegendDataCubeBlockingWindow.js +75 -0
  17. package/lib/components/LegendDataCubeBlockingWindow.js.map +1 -0
  18. package/lib/components/LegendDataCubeWebApplication.js +2 -2
  19. package/lib/components/LegendDataCubeWebApplication.js.map +1 -1
  20. package/lib/components/builder/LegendDataCubeBuilder.d.ts +20 -0
  21. package/lib/components/builder/LegendDataCubeBuilder.d.ts.map +1 -0
  22. package/lib/components/builder/LegendDataCubeBuilder.js +162 -0
  23. package/lib/components/builder/LegendDataCubeBuilder.js.map +1 -0
  24. package/lib/components/builder/LegendDataCubeBuilderStoreProvider.d.ts +19 -0
  25. package/lib/components/builder/LegendDataCubeBuilderStoreProvider.d.ts.map +1 -0
  26. package/lib/components/builder/LegendDataCubeBuilderStoreProvider.js +34 -0
  27. package/lib/components/builder/LegendDataCubeBuilderStoreProvider.js.map +1 -0
  28. package/lib/components/{query-builder/LegendDataCubeQuerySaver.d.ts → builder/LegendDataCubeCreator.d.ts} +2 -2
  29. package/lib/components/builder/LegendDataCubeCreator.d.ts.map +1 -0
  30. package/lib/components/{query-builder/LegendDataCubeNewQueryBuilder.js → builder/LegendDataCubeCreator.js} +10 -10
  31. package/lib/components/builder/LegendDataCubeCreator.js.map +1 -0
  32. package/lib/components/builder/LegendDataCubeDeleteConfirmation.d.ts +19 -0
  33. package/lib/components/builder/LegendDataCubeDeleteConfirmation.d.ts.map +1 -0
  34. package/lib/components/builder/LegendDataCubeDeleteConfirmation.js +43 -0
  35. package/lib/components/builder/LegendDataCubeDeleteConfirmation.js.map +1 -0
  36. package/lib/components/{query-builder/LegendDataCubeQueryLoader.d.ts → builder/LegendDataCubeLoader.d.ts} +2 -2
  37. package/lib/components/builder/LegendDataCubeLoader.d.ts.map +1 -0
  38. package/lib/components/builder/LegendDataCubeLoader.js +113 -0
  39. package/lib/components/builder/LegendDataCubeLoader.js.map +1 -0
  40. package/lib/components/{query-builder/LegendDataCubeNewQueryBuilder.d.ts → builder/LegendDataCubeSaver.d.ts} +2 -2
  41. package/lib/components/builder/LegendDataCubeSaver.d.ts.map +1 -0
  42. package/lib/components/builder/LegendDataCubeSaver.js +73 -0
  43. package/lib/components/builder/LegendDataCubeSaver.js.map +1 -0
  44. package/lib/components/{query-builder/LegendDataCubeQueryBuilder.d.ts → builder/LegendDataCubeSourceViewer.d.ts} +4 -2
  45. package/lib/components/builder/LegendDataCubeSourceViewer.d.ts.map +1 -0
  46. package/lib/components/builder/LegendDataCubeSourceViewer.js +46 -0
  47. package/lib/components/builder/LegendDataCubeSourceViewer.js.map +1 -0
  48. package/lib/components/{query-builder/source-builder → builder/source}/AdhocQueryDataCubeSourceBuilder.d.ts +1 -1
  49. package/lib/components/builder/source/AdhocQueryDataCubeSourceBuilder.d.ts.map +1 -0
  50. package/lib/components/builder/source/AdhocQueryDataCubeSourceBuilder.js.map +1 -0
  51. package/lib/components/{query-builder/source-builder → builder/source}/LegendQueryDataCubeSourceBuilder.d.ts +1 -1
  52. package/lib/components/builder/source/LegendQueryDataCubeSourceBuilder.d.ts.map +1 -0
  53. package/lib/components/{query-builder/source-builder → builder/source}/LegendQueryDataCubeSourceBuilder.js +13 -13
  54. package/lib/components/builder/source/LegendQueryDataCubeSourceBuilder.js.map +1 -0
  55. package/lib/index.css +1 -1
  56. package/lib/package.json +1 -1
  57. package/lib/stores/LegendDataCubeCacheManager.d.ts.map +1 -1
  58. package/lib/stores/LegendDataCubeCacheManager.js +11 -12
  59. package/lib/stores/LegendDataCubeCacheManager.js.map +1 -1
  60. package/lib/stores/LegendDataCubeDataCubeEngine.d.ts +1 -1
  61. package/lib/stores/LegendDataCubeDataCubeEngine.d.ts.map +1 -1
  62. package/lib/stores/LegendDataCubeDataCubeEngine.js +5 -11
  63. package/lib/stores/LegendDataCubeDataCubeEngine.js.map +1 -1
  64. package/lib/stores/builder/LegendDataCubeBuilderStore.d.ts +80 -0
  65. package/lib/stores/builder/LegendDataCubeBuilderStore.d.ts.map +1 -0
  66. package/lib/stores/builder/LegendDataCubeBuilderStore.js +353 -0
  67. package/lib/stores/builder/LegendDataCubeBuilderStore.js.map +1 -0
  68. package/lib/stores/{query-builder/LegendDataCubeNewQueryState.d.ts → builder/LegendDataCubeCreatorState.d.ts} +5 -5
  69. package/lib/stores/builder/LegendDataCubeCreatorState.d.ts.map +1 -0
  70. package/lib/stores/{query-builder/LegendDataCubeNewQueryState.js → builder/LegendDataCubeCreatorState.js} +17 -17
  71. package/lib/stores/builder/LegendDataCubeCreatorState.js.map +1 -0
  72. package/lib/stores/{query-builder/LegendDataCubeQueryLoaderState.d.ts → builder/LegendDataCubeLoaderState.d.ts} +20 -20
  73. package/lib/stores/builder/LegendDataCubeLoaderState.d.ts.map +1 -0
  74. package/lib/stores/builder/LegendDataCubeLoaderState.js +187 -0
  75. package/lib/stores/builder/LegendDataCubeLoaderState.js.map +1 -0
  76. package/lib/stores/builder/source/AdhocQueryDataCubeSourceBuilderState.d.ts.map +1 -0
  77. package/lib/stores/builder/source/AdhocQueryDataCubeSourceBuilderState.js.map +1 -0
  78. package/lib/stores/builder/source/LegendDataCubeSourceBuilderState.d.ts.map +1 -0
  79. package/lib/stores/{query-builder/source-builder → builder/source}/LegendDataCubeSourceBuilderState.js +1 -1
  80. package/lib/stores/builder/source/LegendDataCubeSourceBuilderState.js.map +1 -0
  81. package/lib/stores/builder/source/LegendQueryDataCubeSourceBuilderState.d.ts.map +1 -0
  82. package/lib/stores/builder/source/LegendQueryDataCubeSourceBuilderState.js.map +1 -0
  83. package/package.json +5 -5
  84. package/src/__lib__/LegendDataCubeNavigation.ts +15 -7
  85. package/src/__lib__/LegendDataCubeUserData.ts +2 -2
  86. package/src/application/LegendDataCubeApplicationConfig.ts +12 -0
  87. package/src/components/LegendDataCubeBlockingWindow.tsx +120 -0
  88. package/src/components/LegendDataCubeWebApplication.tsx +3 -3
  89. package/src/components/builder/LegendDataCubeBuilder.tsx +331 -0
  90. package/src/components/{query-builder/LegendDataCubeQueryBuilderStoreProvider.tsx → builder/LegendDataCubeBuilderStoreProvider.tsx} +19 -16
  91. package/src/components/{query-builder/LegendDataCubeNewQueryBuilder.tsx → builder/LegendDataCubeCreator.tsx} +9 -9
  92. package/src/components/builder/LegendDataCubeDeleteConfirmation.tsx +87 -0
  93. package/src/components/{query-builder/LegendDataCubeQueryLoader.tsx → builder/LegendDataCubeLoader.tsx} +122 -59
  94. package/src/components/builder/LegendDataCubeSaver.tsx +184 -0
  95. package/src/components/builder/LegendDataCubeSourceViewer.tsx +108 -0
  96. package/src/components/{query-builder/source-builder → builder/source}/AdhocQueryDataCubeSourceBuilder.tsx +1 -1
  97. package/src/components/{query-builder/source-builder → builder/source}/LegendQueryDataCubeSourceBuilder.tsx +16 -15
  98. package/src/stores/LegendDataCubeCacheManager.ts +11 -12
  99. package/src/stores/LegendDataCubeDataCubeEngine.ts +4 -14
  100. package/src/stores/builder/LegendDataCubeBuilderStore.tsx +516 -0
  101. package/src/stores/{query-builder/LegendDataCubeNewQueryState.tsx → builder/LegendDataCubeCreatorState.tsx} +23 -21
  102. package/src/stores/builder/LegendDataCubeLoaderState.tsx +248 -0
  103. package/src/stores/{query-builder/source-builder → builder/source}/LegendDataCubeSourceBuilderState.ts +1 -1
  104. package/tsconfig.json +16 -13
  105. package/lib/components/query-builder/LegendDataCubeNewQueryBuilder.d.ts.map +0 -1
  106. package/lib/components/query-builder/LegendDataCubeNewQueryBuilder.js.map +0 -1
  107. package/lib/components/query-builder/LegendDataCubeQueryBuilder.d.ts.map +0 -1
  108. package/lib/components/query-builder/LegendDataCubeQueryBuilder.js +0 -93
  109. package/lib/components/query-builder/LegendDataCubeQueryBuilder.js.map +0 -1
  110. package/lib/components/query-builder/LegendDataCubeQueryBuilderStoreProvider.d.ts +0 -19
  111. package/lib/components/query-builder/LegendDataCubeQueryBuilderStoreProvider.d.ts.map +0 -1
  112. package/lib/components/query-builder/LegendDataCubeQueryBuilderStoreProvider.js +0 -33
  113. package/lib/components/query-builder/LegendDataCubeQueryBuilderStoreProvider.js.map +0 -1
  114. package/lib/components/query-builder/LegendDataCubeQueryLoader.d.ts.map +0 -1
  115. package/lib/components/query-builder/LegendDataCubeQueryLoader.js +0 -97
  116. package/lib/components/query-builder/LegendDataCubeQueryLoader.js.map +0 -1
  117. package/lib/components/query-builder/LegendDataCubeQuerySaver.d.ts.map +0 -1
  118. package/lib/components/query-builder/LegendDataCubeQuerySaver.js +0 -51
  119. package/lib/components/query-builder/LegendDataCubeQuerySaver.js.map +0 -1
  120. package/lib/components/query-builder/source-builder/AdhocQueryDataCubeSourceBuilder.d.ts.map +0 -1
  121. package/lib/components/query-builder/source-builder/AdhocQueryDataCubeSourceBuilder.js.map +0 -1
  122. package/lib/components/query-builder/source-builder/LegendQueryDataCubeSourceBuilder.d.ts.map +0 -1
  123. package/lib/components/query-builder/source-builder/LegendQueryDataCubeSourceBuilder.js.map +0 -1
  124. package/lib/stores/query-builder/LegendDataCubeNewQueryState.d.ts.map +0 -1
  125. package/lib/stores/query-builder/LegendDataCubeNewQueryState.js.map +0 -1
  126. package/lib/stores/query-builder/LegendDataCubeQueryBuilderStore.d.ts +0 -58
  127. package/lib/stores/query-builder/LegendDataCubeQueryBuilderStore.d.ts.map +0 -1
  128. package/lib/stores/query-builder/LegendDataCubeQueryBuilderStore.js +0 -228
  129. package/lib/stores/query-builder/LegendDataCubeQueryBuilderStore.js.map +0 -1
  130. package/lib/stores/query-builder/LegendDataCubeQueryLoaderState.d.ts.map +0 -1
  131. package/lib/stores/query-builder/LegendDataCubeQueryLoaderState.js +0 -198
  132. package/lib/stores/query-builder/LegendDataCubeQueryLoaderState.js.map +0 -1
  133. package/lib/stores/query-builder/source-builder/AdhocQueryDataCubeSourceBuilderState.d.ts.map +0 -1
  134. package/lib/stores/query-builder/source-builder/AdhocQueryDataCubeSourceBuilderState.js.map +0 -1
  135. package/lib/stores/query-builder/source-builder/LegendDataCubeSourceBuilderState.d.ts.map +0 -1
  136. package/lib/stores/query-builder/source-builder/LegendDataCubeSourceBuilderState.js.map +0 -1
  137. package/lib/stores/query-builder/source-builder/LegendQueryDataCubeSourceBuilderState.d.ts.map +0 -1
  138. package/lib/stores/query-builder/source-builder/LegendQueryDataCubeSourceBuilderState.js.map +0 -1
  139. package/src/components/query-builder/LegendDataCubeQueryBuilder.tsx +0 -164
  140. package/src/components/query-builder/LegendDataCubeQuerySaver.tsx +0 -116
  141. package/src/stores/query-builder/LegendDataCubeQueryBuilderStore.tsx +0 -323
  142. package/src/stores/query-builder/LegendDataCubeQueryLoaderState.tsx +0 -260
  143. /package/lib/components/{query-builder/source-builder → builder/source}/AdhocQueryDataCubeSourceBuilder.js +0 -0
  144. /package/lib/stores/{query-builder/source-builder → builder/source}/AdhocQueryDataCubeSourceBuilderState.d.ts +0 -0
  145. /package/lib/stores/{query-builder/source-builder → builder/source}/AdhocQueryDataCubeSourceBuilderState.js +0 -0
  146. /package/lib/stores/{query-builder/source-builder → builder/source}/LegendDataCubeSourceBuilderState.d.ts +0 -0
  147. /package/lib/stores/{query-builder/source-builder → builder/source}/LegendQueryDataCubeSourceBuilderState.d.ts +0 -0
  148. /package/lib/stores/{query-builder/source-builder → builder/source}/LegendQueryDataCubeSourceBuilderState.js +0 -0
  149. /package/src/stores/{query-builder/source-builder → builder/source}/AdhocQueryDataCubeSourceBuilderState.ts +0 -0
  150. /package/src/stores/{query-builder/source-builder → builder/source}/LegendQueryDataCubeSourceBuilderState.ts +0 -0
package/README.md CHANGED
@@ -1,3 +1,3 @@
1
1
  # @finos/legend-application-data-cube
2
2
 
3
- Legend Query core
3
+ Legend DataCube core
@@ -14,14 +14,18 @@
14
14
  * limitations under the License.
15
15
  */
16
16
  export declare enum LEGEND_DATA_CUBE_ROUTE_PATTERN_TOKEN {
17
- QUERY_ID = "queryId",
17
+ DATA_CUBE_ID = "dataCubeId",
18
18
  SOURCE_DATA = "sourceData"
19
19
  }
20
20
  export declare const LEGEND_DATA_CUBE_ROUTE_PATTERN: Readonly<{
21
- QUERY_BUILDER: "/:queryId?";
21
+ BUILDER: "/:dataCubeId?";
22
22
  }>;
23
- export type LegendDataCubeQueryBuilderPathParams = {
24
- [LEGEND_DATA_CUBE_ROUTE_PATTERN_TOKEN.QUERY_ID]: string;
23
+ export type LegendDataCubeBuilderPathParams = {
24
+ [LEGEND_DATA_CUBE_ROUTE_PATTERN_TOKEN.DATA_CUBE_ID]: string;
25
25
  };
26
- export declare const generateQueryBuilderRoute: (queryId: string | null) => string;
26
+ export declare const generateBuilderRoute: (dataCubeId: string | null) => string;
27
+ /**
28
+ * @external_application_navigation This depends on Legend Query routing and is hardcoded so it's potentially brittle
29
+ */
30
+ export declare const EXTERNAL_APPLICATION_NAVIGATION__generateQueryViewUrl: (queryApplicationUrl: string, queryId: string) => string;
27
31
  //# sourceMappingURL=LegendDataCubeNavigation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"LegendDataCubeNavigation.d.ts","sourceRoot":"","sources":["../../src/__lib__/LegendDataCubeNavigation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,oBAAY,oCAAoC;IAC9C,QAAQ,YAAY;IACpB,WAAW,eAAe;CAC3B;AAED,eAAO,MAAM,8BAA8B;;EAEzC,CAAC;AAEH,MAAM,MAAM,oCAAoC,GAAG;IACjD,CAAC,oCAAoC,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACzD,CAAC;AAEF,eAAO,MAAM,yBAAyB,YAAa,MAAM,GAAG,IAAI,KAAG,MAIlE,CAAC"}
1
+ {"version":3,"file":"LegendDataCubeNavigation.d.ts","sourceRoot":"","sources":["../../src/__lib__/LegendDataCubeNavigation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,oBAAY,oCAAoC;IAC9C,YAAY,eAAe;IAC3B,WAAW,eAAe;CAC3B;AAED,eAAO,MAAM,8BAA8B;;EAEzC,CAAC;AAEH,MAAM,MAAM,+BAA+B,GAAG;IAC5C,CAAC,oCAAoC,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;CAC7D,CAAC;AAEF,eAAO,MAAM,oBAAoB,eAAgB,MAAM,GAAG,IAAI,KAAG,MAIhE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,qDAAqD,wBAC3C,MAAM,WAClB,MAAM,WAC4B,CAAC"}
@@ -16,15 +16,19 @@
16
16
  import { generatePath } from '@finos/legend-application/browser';
17
17
  export var LEGEND_DATA_CUBE_ROUTE_PATTERN_TOKEN;
18
18
  (function (LEGEND_DATA_CUBE_ROUTE_PATTERN_TOKEN) {
19
- LEGEND_DATA_CUBE_ROUTE_PATTERN_TOKEN["QUERY_ID"] = "queryId";
19
+ LEGEND_DATA_CUBE_ROUTE_PATTERN_TOKEN["DATA_CUBE_ID"] = "dataCubeId";
20
20
  LEGEND_DATA_CUBE_ROUTE_PATTERN_TOKEN["SOURCE_DATA"] = "sourceData";
21
21
  })(LEGEND_DATA_CUBE_ROUTE_PATTERN_TOKEN || (LEGEND_DATA_CUBE_ROUTE_PATTERN_TOKEN = {}));
22
22
  export const LEGEND_DATA_CUBE_ROUTE_PATTERN = Object.freeze({
23
- QUERY_BUILDER: `/:${LEGEND_DATA_CUBE_ROUTE_PATTERN_TOKEN.QUERY_ID}?`,
23
+ BUILDER: `/:${LEGEND_DATA_CUBE_ROUTE_PATTERN_TOKEN.DATA_CUBE_ID}?`,
24
24
  });
25
- export const generateQueryBuilderRoute = (queryId) => {
26
- return generatePath(LEGEND_DATA_CUBE_ROUTE_PATTERN.QUERY_BUILDER, {
27
- [LEGEND_DATA_CUBE_ROUTE_PATTERN_TOKEN.QUERY_ID]: queryId,
25
+ export const generateBuilderRoute = (dataCubeId) => {
26
+ return generatePath(LEGEND_DATA_CUBE_ROUTE_PATTERN.BUILDER, {
27
+ [LEGEND_DATA_CUBE_ROUTE_PATTERN_TOKEN.DATA_CUBE_ID]: dataCubeId,
28
28
  });
29
29
  };
30
+ /**
31
+ * @external_application_navigation This depends on Legend Query routing and is hardcoded so it's potentially brittle
32
+ */
33
+ export const EXTERNAL_APPLICATION_NAVIGATION__generateQueryViewUrl = (queryApplicationUrl, queryId) => `${queryApplicationUrl}/edit/${queryId}`;
30
34
  //# sourceMappingURL=LegendDataCubeNavigation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"LegendDataCubeNavigation.js","sourceRoot":"","sources":["../../src/__lib__/LegendDataCubeNavigation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAEjE,MAAM,CAAN,IAAY,oCAGX;AAHD,WAAY,oCAAoC;IAC9C,4DAAoB,CAAA;IACpB,kEAA0B,CAAA;AAC5B,CAAC,EAHW,oCAAoC,KAApC,oCAAoC,QAG/C;AAED,MAAM,CAAC,MAAM,8BAA8B,GAAG,MAAM,CAAC,MAAM,CAAC;IAC1D,aAAa,EAAE,KAAK,oCAAoC,CAAC,QAAQ,GAAG;CACrE,CAAC,CAAC;AAMH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,OAAsB,EAAU,EAAE;IAC1E,OAAO,YAAY,CAAC,8BAA8B,CAAC,aAAa,EAAE;QAChE,CAAC,oCAAoC,CAAC,QAAQ,CAAC,EAAE,OAAO;KACzD,CAAC,CAAC;AACL,CAAC,CAAC"}
1
+ {"version":3,"file":"LegendDataCubeNavigation.js","sourceRoot":"","sources":["../../src/__lib__/LegendDataCubeNavigation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAEjE,MAAM,CAAN,IAAY,oCAGX;AAHD,WAAY,oCAAoC;IAC9C,mEAA2B,CAAA;IAC3B,kEAA0B,CAAA;AAC5B,CAAC,EAHW,oCAAoC,KAApC,oCAAoC,QAG/C;AAED,MAAM,CAAC,MAAM,8BAA8B,GAAG,MAAM,CAAC,MAAM,CAAC;IAC1D,OAAO,EAAE,KAAK,oCAAoC,CAAC,YAAY,GAAG;CACnE,CAAC,CAAC;AAMH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,UAAyB,EAAU,EAAE;IACxE,OAAO,YAAY,CAAC,8BAA8B,CAAC,OAAO,EAAE;QAC1D,CAAC,oCAAoC,CAAC,YAAY,CAAC,EAAE,UAAU;KAChE,CAAC,CAAC;AACL,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,qDAAqD,GAAG,CACnE,mBAA2B,EAC3B,OAAe,EACf,EAAE,CAAC,GAAG,mBAAmB,SAAS,OAAO,EAAE,CAAC"}
@@ -13,8 +13,8 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- export declare const RECENTLY_VIEWED_QUERIES_LIMIT = 10;
16
+ export declare const RECENTLY_VIEWED_DATA_CUBES_LIMIT = 10;
17
17
  export declare enum LegendDataCubeUserDataKey {
18
- RECENTLY_VIEWED_QUERIES = "recentlyViewedQueries"
18
+ RECENTLY_VIEWED_DATA_CUBES = "recentlyViewedDataCubes"
19
19
  }
20
20
  //# sourceMappingURL=LegendDataCubeUserData.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"LegendDataCubeUserData.d.ts","sourceRoot":"","sources":["../../src/__lib__/LegendDataCubeUserData.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,eAAO,MAAM,6BAA6B,KAAK,CAAC;AAEhD,oBAAY,yBAAyB;IACnC,uBAAuB,0BAA0B;CAClD"}
1
+ {"version":3,"file":"LegendDataCubeUserData.d.ts","sourceRoot":"","sources":["../../src/__lib__/LegendDataCubeUserData.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,eAAO,MAAM,gCAAgC,KAAK,CAAC;AAEnD,oBAAY,yBAAyB;IACnC,0BAA0B,4BAA4B;CACvD"}
@@ -13,9 +13,9 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- export const RECENTLY_VIEWED_QUERIES_LIMIT = 10;
16
+ export const RECENTLY_VIEWED_DATA_CUBES_LIMIT = 10;
17
17
  export var LegendDataCubeUserDataKey;
18
18
  (function (LegendDataCubeUserDataKey) {
19
- LegendDataCubeUserDataKey["RECENTLY_VIEWED_QUERIES"] = "recentlyViewedQueries";
19
+ LegendDataCubeUserDataKey["RECENTLY_VIEWED_DATA_CUBES"] = "recentlyViewedDataCubes";
20
20
  })(LegendDataCubeUserDataKey || (LegendDataCubeUserDataKey = {}));
21
21
  //# sourceMappingURL=LegendDataCubeUserData.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"LegendDataCubeUserData.js","sourceRoot":"","sources":["../../src/__lib__/LegendDataCubeUserData.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,MAAM,CAAC,MAAM,6BAA6B,GAAG,EAAE,CAAC;AAEhD,MAAM,CAAN,IAAY,yBAEX;AAFD,WAAY,yBAAyB;IACnC,8EAAiD,CAAA;AACnD,CAAC,EAFW,yBAAyB,KAAzB,yBAAyB,QAEpC"}
1
+ {"version":3,"file":"LegendDataCubeUserData.js","sourceRoot":"","sources":["../../src/__lib__/LegendDataCubeUserData.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,MAAM,CAAC,MAAM,gCAAgC,GAAG,EAAE,CAAC;AAEnD,MAAM,CAAN,IAAY,yBAEX;AAFD,WAAY,yBAAyB;IACnC,mFAAsD,CAAA;AACxD,CAAC,EAFW,yBAAyB,KAAzB,yBAAyB,QAEpC"}
@@ -22,11 +22,15 @@ export interface LegendDataCubeApplicationConfigurationData extends LegendApplic
22
22
  url: string;
23
23
  queryUrl: string;
24
24
  };
25
+ query?: {
26
+ url: string;
27
+ };
25
28
  }
26
29
  export declare class LegendDataCubeApplicationConfig extends LegendApplicationConfig {
27
30
  readonly engineServerUrl: string;
28
31
  readonly depotServerUrl: string;
29
32
  readonly engineQueryServerUrl?: string | undefined;
33
+ readonly queryApplicationUrl?: string | undefined;
30
34
  constructor(input: LegendApplicationConfigurationInput<LegendDataCubeApplicationConfigurationData>);
31
35
  getDefaultApplicationStorageKey(): string;
32
36
  }
@@ -1 +1 @@
1
- {"version":3,"file":"LegendDataCubeApplicationConfig.d.ts","sourceRoot":"","sources":["../../src/application/LegendDataCubeApplicationConfig.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EACL,uBAAuB,EACvB,KAAK,kCAAkC,EACvC,KAAK,mCAAmC,EACzC,MAAM,2BAA2B,CAAC;AAMnC,MAAM,WAAW,0CACf,SAAQ,kCAAkC;IAC1C,KAAK,EAAE;QACL,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;IACF,MAAM,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;CAC3C;AAED,qBAAa,+BAAgC,SAAQ,uBAAuB;IAC1E,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;gBAGjD,KAAK,EAAE,mCAAmC,CAAC,0CAA0C,CAAC;IAgCxF,+BAA+B,IAAI,MAAM;CAG1C"}
1
+ {"version":3,"file":"LegendDataCubeApplicationConfig.d.ts","sourceRoot":"","sources":["../../src/application/LegendDataCubeApplicationConfig.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EACL,uBAAuB,EACvB,KAAK,kCAAkC,EACvC,KAAK,mCAAmC,EACzC,MAAM,2BAA2B,CAAC;AAMnC,MAAM,WAAW,0CACf,SAAQ,kCAAkC;IAC1C,KAAK,EAAE;QACL,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;IACF,MAAM,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1C,KAAK,CAAC,EAAE;QACN,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;CACH;AAED,qBAAa,+BAAgC,SAAQ,uBAAuB;IAC1E,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnD,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;gBAGhD,KAAK,EAAE,mCAAmC,CAAC,0CAA0C,CAAC;IAwCxF,+BAA+B,IAAI,MAAM;CAG1C"}
@@ -19,6 +19,7 @@ export class LegendDataCubeApplicationConfig extends LegendApplicationConfig {
19
19
  engineServerUrl;
20
20
  depotServerUrl;
21
21
  engineQueryServerUrl;
22
+ queryApplicationUrl;
22
23
  constructor(input) {
23
24
  super(input);
24
25
  // engine
@@ -30,6 +31,10 @@ export class LegendDataCubeApplicationConfig extends LegendApplicationConfig {
30
31
  // depot
31
32
  assertNonNullable(input.configData.depot, `Can't configure application: 'depot' field is missing`);
32
33
  this.depotServerUrl = LegendApplicationConfig.resolveAbsoluteUrl(guaranteeNonEmptyString(input.configData.depot.url, `Can't configure application: 'depot.url' field is missing or empty`));
34
+ // query
35
+ if (input.configData.query?.url) {
36
+ this.queryApplicationUrl = LegendApplicationConfig.resolveAbsoluteUrl(input.configData.query.url);
37
+ }
33
38
  }
34
39
  getDefaultApplicationStorageKey() {
35
40
  return 'legend-data-cube';
@@ -1 +1 @@
1
- {"version":3,"file":"LegendDataCubeApplicationConfig.js","sourceRoot":"","sources":["../../src/application/LegendDataCubeApplicationConfig.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EACL,uBAAuB,GAGxB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,iBAAiB,EACjB,uBAAuB,GACxB,MAAM,sBAAsB,CAAC;AAU9B,MAAM,OAAO,+BAAgC,SAAQ,uBAAuB;IACjE,eAAe,CAAS;IACxB,cAAc,CAAS;IACvB,oBAAoB,CAAsB;IAEnD,YACE,KAAsF;QAEtF,KAAK,CAAC,KAAK,CAAC,CAAC;QAEb,SAAS;QACT,iBAAiB,CACf,KAAK,CAAC,UAAU,CAAC,MAAM,EACvB,wDAAwD,CACzD,CAAC;QACF,IAAI,CAAC,eAAe,GAAG,uBAAuB,CAAC,kBAAkB,CAC/D,uBAAuB,CACrB,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,EAC3B,qEAAqE,CACtE,CACF,CAAC;QACF,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ;YAC1D,CAAC,CAAC,uBAAuB,CAAC,kBAAkB,CACxC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CACjC;YACH,CAAC,CAAC,SAAS,CAAC;QACd,QAAQ;QACR,iBAAiB,CACf,KAAK,CAAC,UAAU,CAAC,KAAK,EACtB,uDAAuD,CACxD,CAAC;QACF,IAAI,CAAC,cAAc,GAAG,uBAAuB,CAAC,kBAAkB,CAC9D,uBAAuB,CACrB,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,EAC1B,oEAAoE,CACrE,CACF,CAAC;IACJ,CAAC;IACD,+BAA+B;QAC7B,OAAO,kBAAkB,CAAC;IAC5B,CAAC;CACF"}
1
+ {"version":3,"file":"LegendDataCubeApplicationConfig.js","sourceRoot":"","sources":["../../src/application/LegendDataCubeApplicationConfig.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EACL,uBAAuB,GAGxB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,iBAAiB,EACjB,uBAAuB,GACxB,MAAM,sBAAsB,CAAC;AAa9B,MAAM,OAAO,+BAAgC,SAAQ,uBAAuB;IACjE,eAAe,CAAS;IACxB,cAAc,CAAS;IACvB,oBAAoB,CAAsB;IAC1C,mBAAmB,CAAsB;IAElD,YACE,KAAsF;QAEtF,KAAK,CAAC,KAAK,CAAC,CAAC;QAEb,SAAS;QACT,iBAAiB,CACf,KAAK,CAAC,UAAU,CAAC,MAAM,EACvB,wDAAwD,CACzD,CAAC;QACF,IAAI,CAAC,eAAe,GAAG,uBAAuB,CAAC,kBAAkB,CAC/D,uBAAuB,CACrB,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,EAC3B,qEAAqE,CACtE,CACF,CAAC;QACF,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ;YAC1D,CAAC,CAAC,uBAAuB,CAAC,kBAAkB,CACxC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CACjC;YACH,CAAC,CAAC,SAAS,CAAC;QAEd,QAAQ;QACR,iBAAiB,CACf,KAAK,CAAC,UAAU,CAAC,KAAK,EACtB,uDAAuD,CACxD,CAAC;QACF,IAAI,CAAC,cAAc,GAAG,uBAAuB,CAAC,kBAAkB,CAC9D,uBAAuB,CACrB,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,EAC1B,oEAAoE,CACrE,CACF,CAAC;QAEF,QAAQ;QACR,IAAI,KAAK,CAAC,UAAU,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC;YAChC,IAAI,CAAC,mBAAmB,GAAG,uBAAuB,CAAC,kBAAkB,CACnE,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAC3B,CAAC;QACJ,CAAC;IACH,CAAC;IACD,+BAA+B;QAC7B,OAAO,kBAAkB,CAAC;IAC5B,CAAC;CACF"}
@@ -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 { LayoutConfiguration, type WindowConfiguration } from '@finos/legend-data-cube';
17
+ export declare const LegendDataCubeBlockingWindow: ((props: {
18
+ windowState: LegendDataCubeBlockingWindowState;
19
+ }) => import("react/jsx-runtime").JSX.Element | null) & {
20
+ displayName: string;
21
+ };
22
+ export declare class LegendDataCubeBlockingWindowState {
23
+ isOpen: boolean;
24
+ readonly configuration: LayoutConfiguration;
25
+ constructor(title: string, contentRenderer: (config: LayoutConfiguration) => React.ReactNode, windowConfiguration?: WindowConfiguration | undefined);
26
+ open(): void;
27
+ close(): void;
28
+ }
29
+ //# sourceMappingURL=LegendDataCubeBlockingWindow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LegendDataCubeBlockingWindow.d.ts","sourceRoot":"","sources":["../../src/components/LegendDataCubeBlockingWindow.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,EAEL,mBAAmB,EACnB,KAAK,mBAAmB,EACzB,MAAM,yBAAyB,CAAC;AAKjC,eAAO,MAAM,4BAA4B,WAC/B;IAAE,WAAW,EAAE,iCAAiC,CAAA;CAAE;;CA6D3D,CAAC;AAEF,qBAAa,iCAAiC;IAC5C,MAAM,UAAS;IACf,QAAQ,CAAC,aAAa,EAAE,mBAAmB,CAAC;gBAG1C,KAAK,EAAE,MAAM,EACb,eAAe,EAAE,CAAC,MAAM,EAAE,mBAAmB,KAAK,KAAK,CAAC,SAAS,EACjE,mBAAmB,CAAC,EAAE,mBAAmB,GAAG,SAAS;IAevD,IAAI;IAIJ,KAAK;CAGN"}
@@ -0,0 +1,75 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } 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 { DataCubeIcon, Dialog } from '@finos/legend-art';
18
+ import { DEFAULT_TOOL_PANEL_WINDOW_CONFIG, LayoutConfiguration, } from '@finos/legend-data-cube';
19
+ import { action, makeObservable, observable } from 'mobx';
20
+ import { observer } from 'mobx-react-lite';
21
+ import { useRef } from 'react';
22
+ export const LegendDataCubeBlockingWindow = observer((props) => {
23
+ const { windowState } = props;
24
+ const ref = useRef(null);
25
+ // set the width and height of the dialog to make sure content overflow works properly
26
+ const handleEnter = () => {
27
+ if (ref.current?.parentElement) {
28
+ const { width, height } = ref.current.parentElement.getBoundingClientRect();
29
+ ref.current.style.width = `${windowState.configuration.window.width ?? width}px`;
30
+ ref.current.style.height = `${windowState.configuration.window.height ?? height}px`;
31
+ }
32
+ };
33
+ if (!windowState.isOpen) {
34
+ return null;
35
+ }
36
+ return (_jsx(Dialog, { open: windowState.isOpen, onClose: () => windowState.close(), slotProps: {
37
+ transition: {
38
+ onEnter: handleEnter,
39
+ },
40
+ paper: {
41
+ elevation: 0,
42
+ },
43
+ backdrop: {
44
+ classes: {
45
+ root: 'bg-black !opacity-25',
46
+ },
47
+ },
48
+ }, classes: {
49
+ root: 'data-cube h-full w-full flex items-center justify-center',
50
+ paper: 'min-h-10 min-w-40 rounded-none shadow-md',
51
+ }, children: _jsxs("div", { className: "border border-neutral-400 bg-neutral-200 shadow-xl", ref: ref, children: [_jsxs("div", { className: "flex h-6 w-full select-none items-center justify-between border-b border-b-neutral-300 bg-white", children: [_jsx("div", { className: "px-2", children: windowState.configuration.title }), _jsx("button", { className: "flex h-[23px] w-6 items-center justify-center hover:bg-red-500 hover:text-white", onClick: () => windowState.close(), children: _jsx(DataCubeIcon.X, {}) })] }), _jsx("div", { className: "h-[calc(100%_-_24px)] w-full overflow-auto", children: windowState.configuration.contentRenderer(windowState.configuration) })] }) }));
52
+ });
53
+ export class LegendDataCubeBlockingWindowState {
54
+ isOpen = false;
55
+ configuration;
56
+ constructor(title, contentRenderer, windowConfiguration) {
57
+ makeObservable(this, {
58
+ isOpen: observable,
59
+ open: action,
60
+ close: action,
61
+ });
62
+ this.configuration = new LayoutConfiguration(title, contentRenderer);
63
+ this.configuration.window = DEFAULT_TOOL_PANEL_WINDOW_CONFIG;
64
+ if (windowConfiguration) {
65
+ this.configuration.window = windowConfiguration;
66
+ }
67
+ }
68
+ open() {
69
+ this.isOpen = true;
70
+ }
71
+ close() {
72
+ this.isOpen = false;
73
+ }
74
+ }
75
+ //# sourceMappingURL=LegendDataCubeBlockingWindow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LegendDataCubeBlockingWindow.js","sourceRoot":"","sources":["../../src/components/LegendDataCubeBlockingWindow.tsx"],"names":[],"mappings":"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"}
@@ -18,7 +18,7 @@ import { BrowserEnvironmentProvider } from '@finos/legend-application';
18
18
  import { Route, Routes } from '@finos/legend-application/browser';
19
19
  import { LegendDataCubeFrameworkProvider, useLegendDataCubeBaseStore, } from './LegendDataCubeFrameworkProvider.js';
20
20
  import { observer } from 'mobx-react-lite';
21
- import { LegendDataCubeQueryBuilder } from './query-builder/LegendDataCubeQueryBuilder.js';
21
+ import { LegendDataCubeBuilder } from './builder/LegendDataCubeBuilder.js';
22
22
  import { LEGEND_DATA_CUBE_ROUTE_PATTERN } from '../__lib__/LegendDataCubeNavigation.js';
23
23
  import { useEffect } from 'react';
24
24
  const LegendDataCubeWebApplicationRouter = observer(() => {
@@ -28,7 +28,7 @@ const LegendDataCubeWebApplicationRouter = observer(() => {
28
28
  .initialize()
29
29
  .catch((error) => store.alertService.alertUnhandledError(error));
30
30
  }, [store]);
31
- return (_jsx("div", { className: "h-full", children: store.initializeState.hasSucceeded && (_jsx(Routes, { children: _jsx(Route, { path: LEGEND_DATA_CUBE_ROUTE_PATTERN.QUERY_BUILDER, element: _jsx(LegendDataCubeQueryBuilder, {}) }) })) }));
31
+ return (_jsx("div", { className: "h-full", children: store.initializeState.hasSucceeded && (_jsx(Routes, { children: _jsx(Route, { path: LEGEND_DATA_CUBE_ROUTE_PATTERN.BUILDER, element: _jsx(LegendDataCubeBuilder, {}) }) })) }));
32
32
  });
33
33
  export const LegendDataCubeWebApplication = observer((props) => {
34
34
  const { baseUrl } = props;
@@ -1 +1 @@
1
- {"version":3,"file":"LegendDataCubeWebApplication.js","sourceRoot":"","sources":["../../src/components/LegendDataCubeWebApplication.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,mCAAmC,CAAC;AAClE,OAAO,EACL,+BAA+B,EAC/B,0BAA0B,GAC3B,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,0BAA0B,EAAE,MAAM,+CAA+C,CAAC;AAC3F,OAAO,EAAE,8BAA8B,EAAE,MAAM,wCAAwC,CAAC;AACxF,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,MAAM,kCAAkC,GAAG,QAAQ,CAAC,GAAG,EAAE;IACvD,MAAM,KAAK,GAAG,0BAA0B,EAAE,CAAC;IAE3C,SAAS,CAAC,GAAG,EAAE;QACb,KAAK;aACF,UAAU,EAAE;aACZ,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC;IACrE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ,OAAO,CACL,cAAK,SAAS,EAAC,QAAQ,YACpB,KAAK,CAAC,eAAe,CAAC,YAAY,IAAI,CACrC,KAAC,MAAM,cACL,KAAC,KAAK,IACJ,IAAI,EAAE,8BAA8B,CAAC,aAAa,EAClD,OAAO,EAAE,KAAC,0BAA0B,KAAG,GACvC,GACK,CACV,GACG,CACP,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,4BAA4B,GAAG,QAAQ,CAClD,CAAC,KAA0B,EAAE,EAAE;IAC7B,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IAE1B,OAAO,CACL,KAAC,0BAA0B,IAAC,OAAO,EAAE,OAAO,YAC1C,KAAC,+BAA+B,cAC9B,KAAC,kCAAkC,KAAG,GACN,GACP,CAC9B,CAAC;AACJ,CAAC,CACF,CAAC"}
1
+ {"version":3,"file":"LegendDataCubeWebApplication.js","sourceRoot":"","sources":["../../src/components/LegendDataCubeWebApplication.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,mCAAmC,CAAC;AAClE,OAAO,EACL,+BAA+B,EAC/B,0BAA0B,GAC3B,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EAAE,8BAA8B,EAAE,MAAM,wCAAwC,CAAC;AACxF,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,MAAM,kCAAkC,GAAG,QAAQ,CAAC,GAAG,EAAE;IACvD,MAAM,KAAK,GAAG,0BAA0B,EAAE,CAAC;IAE3C,SAAS,CAAC,GAAG,EAAE;QACb,KAAK;aACF,UAAU,EAAE;aACZ,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC;IACrE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ,OAAO,CACL,cAAK,SAAS,EAAC,QAAQ,YACpB,KAAK,CAAC,eAAe,CAAC,YAAY,IAAI,CACrC,KAAC,MAAM,cACL,KAAC,KAAK,IACJ,IAAI,EAAE,8BAA8B,CAAC,OAAO,EAC5C,OAAO,EAAE,KAAC,qBAAqB,KAAG,GAClC,GACK,CACV,GACG,CACP,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,4BAA4B,GAAG,QAAQ,CAClD,CAAC,KAA0B,EAAE,EAAE;IAC7B,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IAE1B,OAAO,CACL,KAAC,0BAA0B,IAAC,OAAO,EAAE,OAAO,YAC1C,KAAC,+BAA+B,cAC9B,KAAC,kCAAkC,KAAG,GACN,GACP,CAC9B,CAAC;AACJ,CAAC,CACF,CAAC"}
@@ -0,0 +1,20 @@
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
+ export declare const LegendDataCubeAbout: (() => import("react/jsx-runtime").JSX.Element) & {
17
+ displayName: string;
18
+ };
19
+ export declare const LegendDataCubeBuilder: () => import("react/jsx-runtime").JSX.Element;
20
+ //# sourceMappingURL=LegendDataCubeBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LegendDataCubeBuilder.d.ts","sourceRoot":"","sources":["../../../src/components/builder/LegendDataCubeBuilder.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAsDH,eAAO,MAAM,mBAAmB;;CAgE9B,CAAC;AAkFH,eAAO,MAAM,qBAAqB,+CAoHjC,CAAC"}
@@ -0,0 +1,162 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } 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 { DataCube, FormButton, DataCubePlaceholder, DataCubeNativeMenuItem, DataCubePlaceholderErrorDisplay, DataCubeSpecification, } from '@finos/legend-data-cube';
19
+ import {} from '@finos/legend-art';
20
+ import { useLegendDataCubeBuilderStore, withLegendDataCubeBuilderStore, } from './LegendDataCubeBuilderStoreProvider.js';
21
+ import { useParams } from '@finos/legend-application/browser';
22
+ import { LEGEND_DATA_CUBE_ROUTE_PATTERN_TOKEN, } from '../../__lib__/LegendDataCubeNavigation.js';
23
+ import { useEffect } from 'react';
24
+ import { LegendDataCubeSettingStorageKey } from '../../__lib__/LegendDataCubeSetting.js';
25
+ const LegendDataCubeBuilderHeader = observer(() => {
26
+ const store = useLegendDataCubeBuilderStore();
27
+ return (_jsxs("div", { className: "flex h-full items-center", children: [_jsx(FormButton, { compact: true, onClick: () => store.loader.display.open(), children: "Load DataCube" }), _jsx(FormButton, { compact: true, className: "ml-1.5", onClick: () => store.creator.display.open(), children: "New DataCube" }), _jsx(FormButton, { compact: true, className: "ml-1.5", disabled: !store.builder?.dataCube, onClick: () => store.saverDisplay.open(), children: "Save DataCube" })] }));
28
+ });
29
+ export const LegendDataCubeAbout = observer(() => {
30
+ const store = useLegendDataCubeBuilderStore();
31
+ const config = store.application.config;
32
+ return (_jsxs("div", { className: "h-full items-center p-4", children: [_jsxs("div", { className: "my-0.5 flex font-mono", children: [_jsx("div", { children: "Environment:" }), _jsx("div", { className: "ml-1 font-bold", children: config.env })] }), _jsxs("div", { className: "my-0.5 flex font-mono", children: [_jsx("div", { children: "Version:" }), _jsx("div", { className: "ml-1 font-bold", children: config.appVersion })] }), _jsxs("div", { className: "my-0.5 flex font-mono", children: [_jsx("div", { children: "Revision:" }), _jsx("div", { className: "ml-1 font-bold", children: config.appVersionCommitId })] }), _jsxs("div", { className: "my-0.5 flex font-mono", children: [_jsx("div", { children: "Build Time:" }), _jsx("div", { className: "ml-1 font-bold", children: config.appVersionBuildTime })] }), _jsxs("div", { className: "mt-3 rounded-sm bg-white px-4 py-2", children: [_jsxs("div", { className: "my-0.5 flex font-mono", children: [_jsx("div", { children: "Engine Server:" }), _jsx("div", { className: "ml-1 font-bold text-sky-500 underline", children: _jsx("a", { href: config.engineServerUrl, target: "_blank", rel: "noopener noreferrer", children: config.engineServerUrl }) })] }), _jsxs("div", { className: "my-0.5 flex font-mono", children: [_jsx("div", { children: "Depot Server:" }), _jsx("div", { className: "ml-1 font-bold text-sky-500 underline", children: _jsx("a", { href: config.depotServerUrl, target: "_blank", rel: "noopener noreferrer", children: config.depotServerUrl }) })] }), config.engineQueryServerUrl !== undefined && (_jsxs("div", { className: "my-0.5 flex font-mono", children: [_jsx("div", { children: "DataCube Server:" }), _jsx("div", { className: "ml-1 font-bold text-sky-500 underline", children: _jsx("a", { href: config.engineQueryServerUrl, target: "_blank", rel: "noopener noreferrer", children: config.engineQueryServerUrl }) })] }))] })] }));
33
+ });
34
+ function generateMenuItems(store) {
35
+ const application = store.application;
36
+ const builder = store.builder;
37
+ const persistentDataCube = builder?.persistentDataCube;
38
+ const menuItems = builder
39
+ ? [
40
+ ...(builder.source
41
+ ? [
42
+ {
43
+ label: 'View Source',
44
+ action: () => {
45
+ store.sourceViewerDisplay.open();
46
+ },
47
+ },
48
+ ]
49
+ : []),
50
+ ...(persistentDataCube
51
+ ? [
52
+ {
53
+ label: 'Reset to Latest Save',
54
+ action: () => {
55
+ const latestSpecification = DataCubeSpecification.serialization.fromJson(persistentDataCube.content);
56
+ builder.dataCube
57
+ ?.applySpecification(latestSpecification)
58
+ .catch((error) => store.alertService.alertUnhandledError(error));
59
+ },
60
+ },
61
+ {
62
+ label: 'Update Info...',
63
+ action: () => {
64
+ // effectively, we open the save window to let user update the DataCube info, such as name, auto-enable caching, etc.
65
+ store.saverDisplay.open();
66
+ },
67
+ disabled: !store.canCurrentUserManageDataCube(persistentDataCube),
68
+ },
69
+ {
70
+ label: 'Delete DataCube...',
71
+ action: () => {
72
+ store.setDataCubeToDelete(builder.persistentDataCube);
73
+ store.deleteConfirmationDisplay.open();
74
+ },
75
+ disabled: !store.canCurrentUserManageDataCube(persistentDataCube),
76
+ },
77
+ ]
78
+ : []),
79
+ ]
80
+ : [];
81
+ return [
82
+ ...(menuItems.length
83
+ ? [...menuItems, DataCubeNativeMenuItem.SEPARATOR]
84
+ : []),
85
+ {
86
+ label: 'See Documentation',
87
+ action: () => {
88
+ const url = application.documentationService.url;
89
+ if (url) {
90
+ application.navigationService.navigator.visitAddress(application.documentationService.url);
91
+ }
92
+ },
93
+ disabled: !application.documentationService.url,
94
+ },
95
+ {
96
+ label: 'About',
97
+ action: () => {
98
+ store.aboutDisplay.open();
99
+ },
100
+ },
101
+ ];
102
+ }
103
+ export const LegendDataCubeBuilder = withLegendDataCubeBuilderStore(observer(() => {
104
+ const store = useLegendDataCubeBuilderStore();
105
+ const builder = store.builder;
106
+ const application = store.application;
107
+ const params = useParams();
108
+ const dataCubeId = params[LEGEND_DATA_CUBE_ROUTE_PATTERN_TOKEN.DATA_CUBE_ID];
109
+ useEffect(() => {
110
+ application.navigationService.navigator.blockNavigation(
111
+ // Only block navigation in production, in development, we should have
112
+ // the flexibility to reload the page quickly
113
+ // eslint-disable-next-line no-process-env
114
+ [() => process.env.NODE_ENV === 'production']);
115
+ return () => {
116
+ application.navigationService.navigator.unblockNavigation();
117
+ };
118
+ }, [application]);
119
+ useEffect(() => {
120
+ store
121
+ .initialize()
122
+ .catch((error) => store.alertService.alertUnhandledError(error));
123
+ return () => {
124
+ store
125
+ .cleanUp()
126
+ .catch((error) => store.alertService.alertUnhandledError(error));
127
+ };
128
+ }, [store]);
129
+ useEffect(() => {
130
+ store
131
+ .loadDataCube(dataCubeId)
132
+ .catch((error) => store.alertService.alertUnhandledError(error));
133
+ }, [store, dataCubeId]);
134
+ if (!store.initializeState.hasSucceeded) {
135
+ return (_jsxs(DataCubePlaceholder, { title: "[ Legend DataCube ]", layoutManager: store.layoutService.manager, taskManager: store.taskService.manager, headerContent: _jsx(LegendDataCubeBuilderHeader, {}), menuItems: generateMenuItems(store), children: [store.initializeState.isInProgress && (_jsx("div", { className: "h-full w-full p-2", children: _jsx("div", { children: "Initializing..." }) })), store.initializeState.hasFailed && (_jsx(DataCubePlaceholderErrorDisplay, { message: "Initialization Failure", prompt: "Resolve the issue and reload." }))] }));
136
+ }
137
+ if (!builder) {
138
+ return (_jsx(DataCubePlaceholder, { title: "[ Legend DataCube ]", layoutManager: store.layoutService.manager, taskManager: store.taskService.manager, headerContent: _jsx(LegendDataCubeBuilderHeader, {}), menuItems: generateMenuItems(store), children: _jsxs("div", { className: "h-full w-full p-2", children: [_jsx("div", { children: "Create a new DataCube to start" }), _jsx(FormButton, { className: "mt-1.5", onClick: () => store.creator.display.open(), children: "New DataCube" })] }) }));
139
+ }
140
+ return (_jsx(DataCube, { specification: builder.initialSpecification, engine: store.baseStore.engine, options: {
141
+ layoutManager: store.layoutService.manager,
142
+ taskManager: store.taskService.manager,
143
+ gridClientLicense: store.baseStore.gridClientLicense,
144
+ onInitialized(event) {
145
+ builder.setDataCube(event.api);
146
+ },
147
+ onViewInitialized(event) {
148
+ builder.setSource(event.source);
149
+ },
150
+ innerHeaderRenderer: () => _jsx(LegendDataCubeBuilderHeader, {}),
151
+ getHeaderMenuItems: () => generateMenuItems(store),
152
+ settingsData: {
153
+ configurations: store.baseStore.settings,
154
+ values: application.settingService.getObjectValue(LegendDataCubeSettingStorageKey.DATA_CUBE),
155
+ },
156
+ onSettingsChanged(event) {
157
+ application.settingService.persistValue(LegendDataCubeSettingStorageKey.DATA_CUBE, event.values);
158
+ },
159
+ enableCache: true,
160
+ } }, builder.uuid));
161
+ }));
162
+ //# sourceMappingURL=LegendDataCubeBuilder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LegendDataCubeBuilder.js","sourceRoot":"","sources":["../../../src/components/builder/LegendDataCubeBuilder.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
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 { LegendDataCubeBuilderStore } from '../../stores/builder/LegendDataCubeBuilderStore.js';
17
+ export declare const useLegendDataCubeBuilderStore: () => LegendDataCubeBuilderStore;
18
+ export declare const withLegendDataCubeBuilderStore: (WrappedComponent: React.FC) => () => import("react/jsx-runtime").JSX.Element;
19
+ //# sourceMappingURL=LegendDataCubeBuilderStoreProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LegendDataCubeBuilderStoreProvider.d.ts","sourceRoot":"","sources":["../../../src/components/builder/LegendDataCubeBuilderStoreProvider.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAKH,OAAO,EAAE,0BAA0B,EAAE,MAAM,oDAAoD,CAAC;AA0BhG,eAAO,MAAM,6BAA6B,kCAIvC,CAAC;AAEJ,eAAO,MAAM,8BAA8B,qBAAsB,KAAK,CAAC,EAAE,kDAOtE,CAAC"}
@@ -0,0 +1,34 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } 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 { guaranteeNonNullable } from '@finos/legend-shared';
18
+ import { useLocalObservable } from 'mobx-react-lite';
19
+ import { createContext, useContext } from 'react';
20
+ import { LegendDataCubeBuilderStore } from '../../stores/builder/LegendDataCubeBuilderStore.js';
21
+ import { useLegendDataCubeBaseStore } from '../LegendDataCubeFrameworkProvider.js';
22
+ import { LegendDataCubeBlockingWindow } from '../LegendDataCubeBlockingWindow.js';
23
+ const LegendDataCubeBuilderStoreContext = createContext(undefined);
24
+ const LegendDataCubeBuilderStoreProvider = (props) => {
25
+ const { children } = props;
26
+ const baseStore = useLegendDataCubeBaseStore();
27
+ const store = useLocalObservable(() => new LegendDataCubeBuilderStore(baseStore));
28
+ return (_jsxs(LegendDataCubeBuilderStoreContext.Provider, { value: store, children: [children, _jsx(LegendDataCubeBlockingWindow, { windowState: store.saverDisplay }), _jsx(LegendDataCubeBlockingWindow, { windowState: store.deleteConfirmationDisplay })] }));
29
+ };
30
+ export const useLegendDataCubeBuilderStore = () => guaranteeNonNullable(useContext(LegendDataCubeBuilderStoreContext), `Can't find builder store in context`);
31
+ export const withLegendDataCubeBuilderStore = (WrappedComponent) => function WithLegendDataCubeBuilderStore() {
32
+ return (_jsx(LegendDataCubeBuilderStoreProvider, { children: _jsx(WrappedComponent, {}) }));
33
+ };
34
+ //# sourceMappingURL=LegendDataCubeBuilderStoreProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LegendDataCubeBuilderStoreProvider.js","sourceRoot":"","sources":["../../../src/components/builder/LegendDataCubeBuilderStoreProvider.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAClD,OAAO,EAAE,0BAA0B,EAAE,MAAM,oDAAoD,CAAC;AAChG,OAAO,EAAE,0BAA0B,EAAE,MAAM,uCAAuC,CAAC;AACnF,OAAO,EAAE,4BAA4B,EAAE,MAAM,oCAAoC,CAAC;AAElF,MAAM,iCAAiC,GAAG,aAAa,CAErD,SAAS,CAAC,CAAC;AACb,MAAM,kCAAkC,GAAG,CAAC,KAE3C,EAAE,EAAE;IACH,MAAM,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IAC3B,MAAM,SAAS,GAAG,0BAA0B,EAAE,CAAC;IAC/C,MAAM,KAAK,GAAG,kBAAkB,CAC9B,GAAG,EAAE,CAAC,IAAI,0BAA0B,CAAC,SAAS,CAAC,CAChD,CAAC;IACF,OAAO,CACL,MAAC,iCAAiC,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,aACrD,QAAQ,EACT,KAAC,4BAA4B,IAAC,WAAW,EAAE,KAAK,CAAC,YAAY,GAAI,EACjE,KAAC,4BAA4B,IAC3B,WAAW,EAAE,KAAK,CAAC,yBAAyB,GAC5C,IACyC,CAC9C,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,6BAA6B,GAAG,GAAG,EAAE,CAChD,oBAAoB,CAClB,UAAU,CAAC,iCAAiC,CAAC,EAC7C,qCAAqC,CACtC,CAAC;AAEJ,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,gBAA0B,EAAE,EAAE,CAC3E,SAAS,8BAA8B;IACrC,OAAO,CACL,KAAC,kCAAkC,cACjC,KAAC,gBAAgB,KAAG,GACe,CACtC,CAAC;AACJ,CAAC,CAAC"}
@@ -13,7 +13,7 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- export declare const LegendDataCubeQuerySaver: (() => import("react/jsx-runtime").JSX.Element) & {
16
+ export declare const LegendDataCubeCreator: (() => import("react/jsx-runtime").JSX.Element) & {
17
17
  displayName: string;
18
18
  };
19
- //# sourceMappingURL=LegendDataCubeQuerySaver.d.ts.map
19
+ //# sourceMappingURL=LegendDataCubeCreator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LegendDataCubeCreator.d.ts","sourceRoot":"","sources":["../../../src/components/builder/LegendDataCubeCreator.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAiBH,eAAO,MAAM,qBAAqB;;CAgFhC,CAAC"}