@finos/legend-cube-builder 0.0.2 → 0.0.3

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 (197) hide show
  1. package/README.md +60 -1
  2. package/docs/adding-an-operation.md +92 -0
  3. package/docs/hosting.md +79 -0
  4. package/docs/testing.md +83 -0
  5. package/lib/__lib__/LegendCubeHelpText.d.ts.map +1 -1
  6. package/lib/__lib__/LegendCubeHelpText.js +11 -3
  7. package/lib/__lib__/LegendCubeHelpText.js.map +1 -1
  8. package/lib/__lib__/LegendCubeLabels.d.ts +19 -0
  9. package/lib/__lib__/LegendCubeLabels.d.ts.map +1 -1
  10. package/lib/__lib__/LegendCubeLabels.js +19 -0
  11. package/lib/__lib__/LegendCubeLabels.js.map +1 -1
  12. package/lib/__test-utils__/CubeEngineTestSupport.d.ts +6 -0
  13. package/lib/__test-utils__/CubeEngineTestSupport.d.ts.map +1 -1
  14. package/lib/__test-utils__/CubeEngineTestSupport.js +30 -0
  15. package/lib/__test-utils__/CubeEngineTestSupport.js.map +1 -1
  16. package/lib/__test-utils__/CubeOperationsTestUtils.d.ts +42 -0
  17. package/lib/__test-utils__/CubeOperationsTestUtils.d.ts.map +1 -0
  18. package/lib/__test-utils__/CubeOperationsTestUtils.js +92 -0
  19. package/lib/__test-utils__/CubeOperationsTestUtils.js.map +1 -0
  20. package/lib/__test-utils__/FakeCubeEngine.d.ts.map +1 -1
  21. package/lib/__test-utils__/FakeCubeEngine.js +7 -1
  22. package/lib/__test-utils__/FakeCubeEngine.js.map +1 -1
  23. package/lib/components/CubeNodeIcon.d.ts.map +1 -1
  24. package/lib/components/CubeNodeIcon.js +12 -2
  25. package/lib/components/CubeNodeIcon.js.map +1 -1
  26. package/lib/components/canvas/CubeCanvas.d.ts.map +1 -1
  27. package/lib/components/canvas/CubeCanvas.js +5 -3
  28. package/lib/components/canvas/CubeCanvas.js.map +1 -1
  29. package/lib/components/canvas/CubeCanvasElements.d.ts +2 -0
  30. package/lib/components/canvas/CubeCanvasElements.d.ts.map +1 -1
  31. package/lib/components/canvas/CubeCanvasElements.js +2 -1
  32. package/lib/components/canvas/CubeCanvasElements.js.map +1 -1
  33. package/lib/components/canvas/CubeCanvasNode.d.ts.map +1 -1
  34. package/lib/components/canvas/CubeCanvasNode.js +5 -2
  35. package/lib/components/canvas/CubeCanvasNode.js.map +1 -1
  36. package/lib/components/editors/CubeColumnPicker.d.ts +9 -2
  37. package/lib/components/editors/CubeColumnPicker.d.ts.map +1 -1
  38. package/lib/components/editors/CubeColumnPicker.js +9 -4
  39. package/lib/components/editors/CubeColumnPicker.js.map +1 -1
  40. package/lib/components/editors/CubeDistinctEditor.d.ts +23 -0
  41. package/lib/components/editors/CubeDistinctEditor.d.ts.map +1 -0
  42. package/lib/components/editors/CubeDistinctEditor.js +24 -0
  43. package/lib/components/editors/CubeDistinctEditor.js.map +1 -0
  44. package/lib/components/editors/CubeIntegerField.d.ts +29 -0
  45. package/lib/components/editors/CubeIntegerField.d.ts.map +1 -0
  46. package/lib/components/editors/CubeIntegerField.js +30 -0
  47. package/lib/components/editors/CubeIntegerField.js.map +1 -0
  48. package/lib/components/editors/CubeJoinEditor.d.ts.map +1 -1
  49. package/lib/components/editors/CubeJoinEditor.js +11 -3
  50. package/lib/components/editors/CubeJoinEditor.js.map +1 -1
  51. package/lib/components/editors/CubeNodeEditorPanel.d.ts.map +1 -1
  52. package/lib/components/editors/CubeNodeEditorPanel.js +3 -2
  53. package/lib/components/editors/CubeNodeEditorPanel.js.map +1 -1
  54. package/lib/components/editors/CubeNodeEditorRegistry.d.ts.map +1 -1
  55. package/lib/components/editors/CubeNodeEditorRegistry.js +14 -1
  56. package/lib/components/editors/CubeNodeEditorRegistry.js.map +1 -1
  57. package/lib/components/editors/CubeRenameEditor.d.ts +26 -0
  58. package/lib/components/editors/CubeRenameEditor.d.ts.map +1 -0
  59. package/lib/components/editors/CubeRenameEditor.js +58 -0
  60. package/lib/components/editors/CubeRenameEditor.js.map +1 -0
  61. package/lib/components/editors/CubeRestrictEditor.d.ts +26 -0
  62. package/lib/components/editors/CubeRestrictEditor.d.ts.map +1 -0
  63. package/lib/components/editors/CubeRestrictEditor.js +23 -0
  64. package/lib/components/editors/CubeRestrictEditor.js.map +1 -0
  65. package/lib/components/editors/CubeRowCountEditor.d.ts +25 -0
  66. package/lib/components/editors/CubeRowCountEditor.d.ts.map +1 -0
  67. package/lib/components/editors/CubeRowCountEditor.js +38 -0
  68. package/lib/components/editors/CubeRowCountEditor.js.map +1 -0
  69. package/lib/components/editors/CubeSliceEditor.d.ts +25 -0
  70. package/lib/components/editors/CubeSliceEditor.d.ts.map +1 -0
  71. package/lib/components/editors/CubeSliceEditor.js +40 -0
  72. package/lib/components/editors/CubeSliceEditor.js.map +1 -0
  73. package/lib/components/editors/CubeSortEditor.d.ts +27 -0
  74. package/lib/components/editors/CubeSortEditor.d.ts.map +1 -0
  75. package/lib/components/editors/CubeSortEditor.js +72 -0
  76. package/lib/components/editors/CubeSortEditor.js.map +1 -0
  77. package/lib/components/editors/CubeSourceEditor.d.ts.map +1 -1
  78. package/lib/components/editors/CubeSourceEditor.js +1 -2
  79. package/lib/components/editors/CubeSourceEditor.js.map +1 -1
  80. package/lib/components/editors/CubeValueEditor.d.ts.map +1 -1
  81. package/lib/components/editors/CubeValueEditor.js +2 -1
  82. package/lib/components/editors/CubeValueEditor.js.map +1 -1
  83. package/lib/components/grid/CubeGridRegion.d.ts.map +1 -1
  84. package/lib/components/grid/CubeGridRegion.js +1 -1
  85. package/lib/components/grid/CubeGridRegion.js.map +1 -1
  86. package/lib/components/grid/CubeResultGrid.d.ts +14 -1
  87. package/lib/components/grid/CubeResultGrid.d.ts.map +1 -1
  88. package/lib/components/grid/CubeResultGrid.js +41 -5
  89. package/lib/components/grid/CubeResultGrid.js.map +1 -1
  90. package/lib/graph-manager/CubeEngine.d.ts +13 -0
  91. package/lib/graph-manager/CubeEngine.d.ts.map +1 -1
  92. package/lib/graph-manager/CubeEngine.js.map +1 -1
  93. package/lib/graph-manager/CubeModelOutlineHelper.d.ts +8 -0
  94. package/lib/graph-manager/CubeModelOutlineHelper.d.ts.map +1 -1
  95. package/lib/graph-manager/CubeModelOutlineHelper.js +21 -0
  96. package/lib/graph-manager/CubeModelOutlineHelper.js.map +1 -1
  97. package/lib/graph-manager/protocol/pure/v1/V1_CubeModelOutlineBuilder.d.ts.map +1 -1
  98. package/lib/graph-manager/protocol/pure/v1/V1_CubeModelOutlineBuilder.js +56 -3
  99. package/lib/graph-manager/protocol/pure/v1/V1_CubeModelOutlineBuilder.js.map +1 -1
  100. package/lib/graph-manager/protocol/pure/v1/__test-utils__/V1_CubeEngineTestUtils.d.ts.map +1 -1
  101. package/lib/graph-manager/protocol/pure/v1/__test-utils__/V1_CubeEngineTestUtils.js +3 -3
  102. package/lib/graph-manager/protocol/pure/v1/__test-utils__/V1_CubeEngineTestUtils.js.map +1 -1
  103. package/lib/index.css +1 -1
  104. package/lib/stores/CubeEditorState.d.ts +34 -4
  105. package/lib/stores/CubeEditorState.d.ts.map +1 -1
  106. package/lib/stores/CubeEditorState.js +87 -6
  107. package/lib/stores/CubeEditorState.js.map +1 -1
  108. package/lib/stores/CubeExecutionState.d.ts.map +1 -1
  109. package/lib/stores/CubeExecutionState.js +19 -3
  110. package/lib/stores/CubeExecutionState.js.map +1 -1
  111. package/lib/stores/CubeGridQuickActions.d.ts +40 -0
  112. package/lib/stores/CubeGridQuickActions.d.ts.map +1 -0
  113. package/lib/stores/CubeGridQuickActions.js +86 -0
  114. package/lib/stores/CubeGridQuickActions.js.map +1 -0
  115. package/lib/stores/CubeNodeEditorState.d.ts +19 -1
  116. package/lib/stores/CubeNodeEditorState.d.ts.map +1 -1
  117. package/lib/stores/CubeNodeEditorState.js +55 -0
  118. package/lib/stores/CubeNodeEditorState.js.map +1 -1
  119. package/lib/stores/CubeShowPureState.d.ts +4 -1
  120. package/lib/stores/CubeShowPureState.d.ts.map +1 -1
  121. package/lib/stores/CubeShowPureState.js +22 -5
  122. package/lib/stores/CubeShowPureState.js.map +1 -1
  123. package/lib/stores/editors/CubeIntegerText.d.ts +24 -0
  124. package/lib/stores/editors/CubeIntegerText.d.ts.map +1 -0
  125. package/lib/stores/editors/CubeIntegerText.js +33 -0
  126. package/lib/stores/editors/CubeIntegerText.js.map +1 -0
  127. package/lib/stores/editors/CubeJoinDraft.d.ts +13 -5
  128. package/lib/stores/editors/CubeJoinDraft.d.ts.map +1 -1
  129. package/lib/stores/editors/CubeJoinDraft.js +21 -12
  130. package/lib/stores/editors/CubeJoinDraft.js.map +1 -1
  131. package/lib/stores/editors/CubeNodeDraftRegistry.d.ts +6 -0
  132. package/lib/stores/editors/CubeNodeDraftRegistry.d.ts.map +1 -1
  133. package/lib/stores/editors/CubeNodeDraftRegistry.js +23 -1
  134. package/lib/stores/editors/CubeNodeDraftRegistry.js.map +1 -1
  135. package/lib/stores/editors/CubeRenameDraft.d.ts +44 -0
  136. package/lib/stores/editors/CubeRenameDraft.d.ts.map +1 -0
  137. package/lib/stores/editors/CubeRenameDraft.js +79 -0
  138. package/lib/stores/editors/CubeRenameDraft.js.map +1 -0
  139. package/lib/stores/editors/CubeRestrictDraft.d.ts +37 -0
  140. package/lib/stores/editors/CubeRestrictDraft.d.ts.map +1 -0
  141. package/lib/stores/editors/CubeRestrictDraft.js +73 -0
  142. package/lib/stores/editors/CubeRestrictDraft.js.map +1 -0
  143. package/lib/stores/editors/CubeRowCountDraft.d.ts +42 -0
  144. package/lib/stores/editors/CubeRowCountDraft.d.ts.map +1 -0
  145. package/lib/stores/editors/CubeRowCountDraft.js +55 -0
  146. package/lib/stores/editors/CubeRowCountDraft.js.map +1 -0
  147. package/lib/stores/editors/CubeSliceDraft.d.ts +42 -0
  148. package/lib/stores/editors/CubeSliceDraft.d.ts.map +1 -0
  149. package/lib/stores/editors/CubeSliceDraft.js +72 -0
  150. package/lib/stores/editors/CubeSliceDraft.js.map +1 -0
  151. package/lib/stores/editors/CubeSortDraft.d.ts +49 -0
  152. package/lib/stores/editors/CubeSortDraft.d.ts.map +1 -0
  153. package/lib/stores/editors/CubeSortDraft.js +99 -0
  154. package/lib/stores/editors/CubeSortDraft.js.map +1 -0
  155. package/package.json +8 -8
  156. package/src/__lib__/LegendCubeHelpText.ts +22 -2
  157. package/src/__lib__/LegendCubeLabels.ts +30 -0
  158. package/src/__test-utils__/CubeEngineTestSupport.ts +35 -0
  159. package/src/__test-utils__/CubeOperationsTestUtils.ts +177 -0
  160. package/src/__test-utils__/FakeCubeEngine.ts +7 -1
  161. package/src/components/CubeNodeIcon.tsx +18 -1
  162. package/src/components/canvas/CubeCanvas.tsx +5 -3
  163. package/src/components/canvas/CubeCanvasElements.ts +4 -1
  164. package/src/components/canvas/CubeCanvasNode.tsx +9 -1
  165. package/src/components/editors/CubeColumnPicker.tsx +36 -12
  166. package/src/components/editors/CubeDistinctEditor.tsx +28 -0
  167. package/src/components/editors/CubeIntegerField.tsx +51 -0
  168. package/src/components/editors/CubeJoinEditor.tsx +26 -3
  169. package/src/components/editors/CubeNodeEditorPanel.tsx +12 -1
  170. package/src/components/editors/CubeNodeEditorRegistry.ts +20 -0
  171. package/src/components/editors/CubeRenameEditor.tsx +143 -0
  172. package/src/components/editors/CubeRestrictEditor.tsx +103 -0
  173. package/src/components/editors/CubeRowCountEditor.tsx +53 -0
  174. package/src/components/editors/CubeSliceEditor.tsx +69 -0
  175. package/src/components/editors/CubeSortEditor.tsx +206 -0
  176. package/src/components/editors/CubeSourceEditor.tsx +0 -10
  177. package/src/components/editors/CubeValueEditor.tsx +2 -1
  178. package/src/components/grid/CubeGridRegion.tsx +1 -0
  179. package/src/components/grid/CubeResultGrid.tsx +59 -5
  180. package/src/graph-manager/CubeEngine.ts +14 -0
  181. package/src/graph-manager/CubeModelOutlineHelper.ts +26 -0
  182. package/src/graph-manager/protocol/pure/v1/V1_CubeModelOutlineBuilder.ts +89 -3
  183. package/src/graph-manager/protocol/pure/v1/__test-utils__/V1_CubeEngineTestUtils.ts +6 -3
  184. package/src/stores/CubeEditorState.ts +110 -5
  185. package/src/stores/CubeExecutionState.ts +36 -3
  186. package/src/stores/CubeGridQuickActions.ts +129 -0
  187. package/src/stores/CubeNodeEditorState.ts +70 -1
  188. package/src/stores/CubeShowPureState.ts +27 -5
  189. package/src/stores/editors/CubeIntegerText.ts +34 -0
  190. package/src/stores/editors/CubeJoinDraft.ts +43 -16
  191. package/src/stores/editors/CubeNodeDraftRegistry.ts +35 -1
  192. package/src/stores/editors/CubeRenameDraft.ts +110 -0
  193. package/src/stores/editors/CubeRestrictDraft.ts +83 -0
  194. package/src/stores/editors/CubeRowCountDraft.ts +69 -0
  195. package/src/stores/editors/CubeSliceDraft.ts +87 -0
  196. package/src/stores/editors/CubeSortDraft.ts +135 -0
  197. package/tsconfig.json +15 -0
@@ -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
- import { CubeDocument, type NodeRegistry, type Query, QueryEmitter, type QueryNode, RelationalTableSource, type SchemaInferenceResult } from '@finos/legend-cube';
16
+ import { CubeDocument, type ModelContext, type NodeRegistry, type Query, QueryEmitter, type QueryNode, RelationalTableSource, type SchemaInferenceResult } from '@finos/legend-cube';
17
17
  import type { CommandRegistrar } from '@finos/legend-application';
18
18
  import type { GeneratorFn } from '@finos/legend-shared';
19
19
  import { CubeEngineError, type CubeModelOutline } from '../graph-manager/CubeEngine.js';
@@ -82,6 +82,18 @@ export declare class CubeEditorState implements CommandRegistrar {
82
82
  get isResolvingSources(): boolean;
83
83
  /** The source is being typed again by the engine, e.g. after an import */
84
84
  isPendingSource(node: QueryNode): boolean;
85
+ /**
86
+ * Warnings worked out from the query, by node id: a Sort whose order is
87
+ * lost before it is used (PLAN §11.4). Never stored and never errors, so
88
+ * Execute stays enabled; they go as soon as the query no longer loses it.
89
+ * A partial loss names each node that removes some of the Sort's columns,
90
+ * then the columns that came after a removed one. A loss waits until the
91
+ * Sort and every node it names have no errors, e.g. a Restrict just added,
92
+ * with no column yet: their own errors come first.
93
+ */
94
+ get derivedWarnings(): ReadonlyMap<string, readonly string[]>;
95
+ /** A node's warnings: the stored ones (by key), then the derived ones (by id) */
96
+ getNodeWarnings(node: QueryNode): readonly string[];
85
97
  /**
86
98
  * The node's errors, each once: its own and those of the query rules, then
87
99
  * the first line of the engine's error on it
@@ -89,11 +101,22 @@ export declare class CubeEditorState implements CommandRegistrar {
89
101
  getNodeErrors(nodeId: string): readonly string[];
90
102
  /** The outline of the cube's model, once an editor has loaded it */
91
103
  get modelOutline(): CubeModelOutline | undefined;
104
+ /** The outline of a model, once loaded */
105
+ getModelOutline(model: ModelContext): CubeModelOutline | undefined;
106
+ /**
107
+ * The database type a run of the query up to the node needs, with the
108
+ * model's runtime (PLAN §11.4), from the model's outline once it is loaded
109
+ * (`loadModelOutline`): the type of the runtime's connections to the
110
+ * databases the node reads. None without an outline, which writes every
111
+ * operation the native way.
112
+ */
113
+ getRunDatabaseType(query: Query, nodeId: string, model: ModelContext, runtime: string): string | undefined;
92
114
  /**
93
- * Loads the outline of the cube's model, once per model. It only adds
94
- * warnings, so a model that fails to load shows none.
115
+ * Loads the outline of a model, the cube's by default, once per model. It
116
+ * only adds warnings and database types, so a model that fails to load
117
+ * shows none and runs every operation the native way.
95
118
  */
96
- loadModelOutline(): GeneratorFn<void>;
119
+ loadModelOutline(model?: ModelContext | undefined): GeneratorFn<void>;
97
120
  /** One of Cube's dialogs is open: the source picker, Import or Export, Show Pure */
98
121
  get isDialogOpen(): boolean;
99
122
  /**
@@ -172,6 +195,13 @@ export declare class CubeEditorState implements CommandRegistrar {
172
195
  * the engine has typed it. Does nothing `canAddNode` refuses.
173
196
  */
174
197
  addNode(type: string, afterId?: string): void;
198
+ /**
199
+ * Adds a node made elsewhere, with its settings, as the grid's quick
200
+ * actions do (spec §12.4): spliced in after `afterId`, so it becomes the
201
+ * node that runs when that one did, as one undo step. Does nothing in a
202
+ * read-only cube, or when the query can't take it.
203
+ */
204
+ addConfiguredNode(node: QueryNode, afterId?: string): void;
175
205
  /** Whether dropping a node on another does anything: connect it, or else move it after it */
176
206
  canDropNode(nodeId: string, targetId: string): boolean;
177
207
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"CubeEditorState.d.ts","sourceRoot":"","sources":["../../src/stores/CubeEditorState.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CubeEditorState.d.ts","sourceRoot":"","sources":["../../src/stores/CubeEditorState.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAGL,YAAY,EAMZ,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,KAAK,EACV,YAAY,EACZ,KAAK,SAAS,EACd,qBAAqB,EAGrB,KAAK,qBAAqB,EAC3B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAkBxD,OAAO,EACL,eAAe,EAEf,KAAK,gBAAgB,EACtB,MAAM,gCAAgC,CAAC;AAExC,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAEnE,iGAAiG;AACjG,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAeD;;;;;GAKG;AACH,qBAAa,eAAgB,YAAW,gBAAgB;IACtD,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,8DAA8D;IAC9D,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC;IAChC,QAAQ,CAAC,SAAS,EAAE,kBAAkB,CAAC;IACvC,QAAQ,CAAC,YAAY,EAAE,qBAAqB,CAAC;IAC7C,QAAQ,CAAC,YAAY,EAAE,qBAAqB,CAAC;IAC7C,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAC;IACrC,QAAQ,CAAC,UAAU,EAAE,mBAAmB,CAAC;IAEzC,QAAQ,EAAE,YAAY,CAAC;IACvB,sCAAsC;IACtC,OAAO,EAAE,SAAS,YAAY,EAAE,CAAM;IACtC,0FAA0F;IAC1F,UAAU,EAAE,WAAW,CAAC,MAAM,EAAE,aAAa,CAAC,CAAa;IAC3D;;;OAGG;IACH,QAAQ,EAAE,WAAW,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAAa;IAC7D;;;;OAIG;IACH,OAAO,CAAC,aAAa,CACT;IACZ,qEAAqE;IACrE,OAAO,CAAC,cAAc,CAAqC;IAC3D,+DAA+D;IAC/D,QAAQ,EAAE,MAAM,CAAC;IACjB,qEAAqE;IACrE,kBAAkB,EAAE,OAAO,CAAC;IAC5B;;;OAGG;IACH,QAAQ,UAAS;IACjB,mFAAmF;IACnF,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAA+B;IACjE,iFAAiF;IACjF,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA+B;gBAEhD,IAAI,EAAE,QAAQ,EAAE,QAAQ,eAAqB;IA0DzD,0FAA0F;IAC1F,IAAI,QAAQ,IAAI,qBAAqB,CAKpC;IAED,IAAI,OAAO,IAAI,YAAY,CAE1B;IAED,mEAAmE;IACnE,IAAI,kBAAkB,IAAI,OAAO,CAIhC;IAED,0EAA0E;IAC1E,eAAe,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO;IAIzC;;;;;;;;OAQG;IACH,IAAI,eAAe,IAAI,WAAW,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CA2B5D;IAED,iFAAiF;IACjF,eAAe,CAAC,IAAI,EAAE,SAAS,GAAG,SAAS,MAAM,EAAE;IAOnD;;;OAGG;IACH,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE;IAUhD,oEAAoE;IACpE,IAAI,YAAY,IAAI,gBAAgB,GAAG,SAAS,CAG/C;IAED,0CAA0C;IAC1C,eAAe,CAAC,KAAK,EAAE,YAAY,GAAG,gBAAgB,GAAG,SAAS;IAIlE;;;;;;OAMG;IACH,kBAAkB,CAChB,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,YAAY,EACnB,OAAO,EAAE,MAAM,GACd,MAAM,GAAG,SAAS;IAmBrB;;;;OAIG;IACF,gBAAgB,CACf,KAAK,GAAE,YAAY,GAAG,SAAwC,GAC7D,WAAW,CAAC,IAAI,CAAC;IAcpB,oFAAoF;IACpF,IAAI,YAAY,IAAI,OAAO,CAM1B;IAED;;;;;OAKG;IACH,gBAAgB,IAAI,IAAI;IAmBxB,kBAAkB,IAAI,IAAI;IAM1B,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,mFAAmF;IACnF,aAAa,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI;IAQvC;;;;;OAKG;IACH,cAAc,CAAC,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,OAAO,GAAG,IAAI;IAgB3D;;;;;;;;;;;;;;;;;;OAkBG;IACF,gBAAgB,CACf,IAAI,CAAC,EAAE,SAAS,qBAAqB,EAAE,GACtC,WAAW,CAAC,IAAI,CAAC;IA+HpB;;;;OAIG;IACF,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC;IAOjD;;;;;;OAMG;IACH,IAAI,IAAI,IAAI;IAoBZ,OAAO,CAAC,WAAW;IAOnB,mGAAmG;IACnG,OAAO,CAAC,eAAe;IAQvB,UAAU,CAAC,IAAI,EAAE,KAAK,GAAG,IAAI;IAI7B,0DAA0D;IAC1D,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAM5B;;;OAGG;IACH,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI;IAOhE;;;;OAIG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO;IAYnD;;;;;OAKG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAe7C;;;;;OAKG;IACH,iBAAiB,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAQ1D,6FAA6F;IAC7F,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO;IAQtD;;;OAGG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAYhD,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAItC;;;;OAIG;IACH,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAahC,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAItC,4FAA4F;IAC5F,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAMhC;;;OAGG;IACH,YAAY,CAAC,SAAS,EAAE,OAAO,GAAG,IAAI;IAYtC,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,GAAG,IAAI;IAO1D,eAAe,IAAI,IAAI;IAMvB,mGAAmG;IACnG,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAYnC,sEAAsE;IACtE,mBAAmB,CAAC,SAAS,EAAE,OAAO,GAAG,IAAI;IAQ7C,+CAA+C;IAC/C,OAAO,IAAI,IAAI;CAIhB"}
@@ -13,11 +13,12 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- import { buildSchemasAndValidity, createNodeRegistry, CubeDocument, diffSchemas, QueryEmitter, RelationalTableSource, rereadQueryFilterValues, } from '@finos/legend-cube';
16
+ import { buildSchemasAndValidity, createNodeRegistry, CubeDocument, diffSchemas, findLostSortOrders, MESSAGE_SORT_COLUMNS_CUT, MESSAGE_SORT_COLUMNS_DROPPED, MESSAGE_SORT_ORDER_LOST, QueryEmitter, RelationalTableSource, rereadQueryFilterValues, } from '@finos/legend-cube';
17
17
  import { action, computed, flow, flowResult, makeObservable, observable, } from 'mobx';
18
18
  import { LEGEND_CUBE_COMMAND_KEY } from '../__lib__/LegendCubeCommand.js';
19
19
  import { CUBE_EDITOR_CLOSED_REASON, DEFAULT_ROW_LIMIT, getSchemaDriftWarning, getSourceRecheckWarning, LEGEND_CUBE_USER_DATA_KEY, MAX_UNDO_STEPS, } from '../__lib__/LegendCubeLabels.js';
20
20
  import { CubeEngineError, CubeEngineErrorKind, } from '../graph-manager/CubeEngine.js';
21
+ import { getDatabaseType } from '../graph-manager/CubeModelOutlineHelper.js';
21
22
  import { CubeExecutionState } from './CubeExecutionState.js';
22
23
  import { CubeNodeEditorState } from './CubeNodeEditorState.js';
23
24
  import { CubeShowPureState } from './CubeShowPureState.js';
@@ -87,6 +88,7 @@ export class CubeEditorState {
87
88
  history: observable.ref,
88
89
  hostIssues: observable.ref,
89
90
  warnings: observable.ref,
91
+ derivedWarnings: computed,
90
92
  isResolvingSources: computed,
91
93
  rowLimit: observable,
92
94
  isPaletteCollapsed: observable,
@@ -104,6 +106,7 @@ export class CubeEditorState {
104
106
  select: action,
105
107
  connect: action,
106
108
  addNode: action,
109
+ addConfiguredNode: action,
107
110
  dropNode: action,
108
111
  removeNode: action,
109
112
  swapInputs: action,
@@ -143,6 +146,42 @@ export class CubeEditorState {
143
146
  isPendingSource(node) {
144
147
  return this.pendingSources.has(node);
145
148
  }
149
+ /**
150
+ * Warnings worked out from the query, by node id: a Sort whose order is
151
+ * lost before it is used (PLAN §11.4). Never stored and never errors, so
152
+ * Execute stays enabled; they go as soon as the query no longer loses it.
153
+ * A partial loss names each node that removes some of the Sort's columns,
154
+ * then the columns that came after a removed one. A loss waits until the
155
+ * Sort and every node it names have no errors, e.g. a Restrict just added,
156
+ * with no column yet: their own errors come first.
157
+ */
158
+ get derivedWarnings() {
159
+ const { validity, schemas } = this.analysis;
160
+ const isValid = (nodeId) => validity.get(nodeId)?.length === 0;
161
+ const { query } = this.document;
162
+ return new Map(Array.from(findLostSortOrders(query, undefined, schemas))
163
+ .filter(([sortId, loss]) => isValid(sortId) &&
164
+ isValid(loss.nodeId) &&
165
+ (loss.removals ?? []).every(({ nodeId }) => isValid(nodeId)))
166
+ .map(([sortId, loss]) => [
167
+ sortId,
168
+ loss.removals
169
+ ? [
170
+ ...loss.removals.map(({ nodeId, columns }) => MESSAGE_SORT_COLUMNS_DROPPED(columns, nodeId)),
171
+ ...(loss.cutColumns?.length
172
+ ? [MESSAGE_SORT_COLUMNS_CUT(loss.cutColumns)]
173
+ : []),
174
+ ]
175
+ : [MESSAGE_SORT_ORDER_LOST(loss.nodeId)],
176
+ ]));
177
+ }
178
+ /** A node's warnings: the stored ones (by key), then the derived ones (by id) */
179
+ getNodeWarnings(node) {
180
+ return [
181
+ ...(this.warnings.get(node.key) ?? []),
182
+ ...(this.derivedWarnings.get(node.id) ?? []),
183
+ ];
184
+ }
146
185
  /**
147
186
  * The node's errors, each once: its own and those of the query rules, then
148
187
  * the first line of the engine's error on it
@@ -159,14 +198,43 @@ export class CubeEditorState {
159
198
  /** The outline of the cube's model, once an editor has loaded it */
160
199
  get modelOutline() {
161
200
  const model = this.document.context?.model;
162
- return model === undefined ? undefined : this.modelOutlines.get(model);
201
+ return model === undefined ? undefined : this.getModelOutline(model);
202
+ }
203
+ /** The outline of a model, once loaded */
204
+ getModelOutline(model) {
205
+ return this.modelOutlines.get(model);
163
206
  }
164
207
  /**
165
- * Loads the outline of the cube's model, once per model. It only adds
166
- * warnings, so a model that fails to load shows none.
208
+ * The database type a run of the query up to the node needs, with the
209
+ * model's runtime (PLAN §11.4), from the model's outline once it is loaded
210
+ * (`loadModelOutline`): the type of the runtime's connections to the
211
+ * databases the node reads. None without an outline, which writes every
212
+ * operation the native way.
167
213
  */
168
- *loadModelOutline() {
169
- const model = this.document.context?.model;
214
+ getRunDatabaseType(query, nodeId, model, runtime) {
215
+ const outline = this.getModelOutline(model);
216
+ if (!outline) {
217
+ return undefined;
218
+ }
219
+ const databases = new Set();
220
+ const visit = (id) => {
221
+ const node = query.getNode(id);
222
+ if (node instanceof RelationalTableSource) {
223
+ databases.add(node.database);
224
+ }
225
+ query
226
+ .getInputIds(id)
227
+ .forEach((inputId) => inputId !== undefined && visit(inputId));
228
+ };
229
+ visit(nodeId);
230
+ return getDatabaseType(outline, runtime, [...databases]);
231
+ }
232
+ /**
233
+ * Loads the outline of a model, the cube's by default, once per model. It
234
+ * only adds warnings and database types, so a model that fails to load
235
+ * shows none and runs every operation the native way.
236
+ */
237
+ *loadModelOutline(model = this.document.context?.model) {
170
238
  if (model === undefined || this.modelOutlines.has(model)) {
171
239
  return;
172
240
  }
@@ -458,6 +526,19 @@ export class CubeEditorState {
458
526
  const { query } = this.document;
459
527
  this.applyQuery(query.add(definition.create(query.generateId(type)), afterId));
460
528
  }
529
+ /**
530
+ * Adds a node made elsewhere, with its settings, as the grid's quick
531
+ * actions do (spec §12.4): spliced in after `afterId`, so it becomes the
532
+ * node that runs when that one did, as one undo step. Does nothing in a
533
+ * read-only cube, or when the query can't take it.
534
+ */
535
+ addConfiguredNode(node, afterId) {
536
+ const { query } = this.document;
537
+ if (this.readOnly || !query.canAdd(node, afterId)) {
538
+ return;
539
+ }
540
+ this.applyQuery(query.add(node, afterId));
541
+ }
461
542
  /** Whether dropping a node on another does anything: connect it, or else move it after it */
462
543
  canDropNode(nodeId, targetId) {
463
544
  const { query } = this.document;
@@ -1 +1 @@
1
- {"version":3,"file":"CubeEditorState.js","sourceRoot":"","sources":["../../src/stores/CubeEditorState.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CubeEditorState.js","sourceRoot":"","sources":["../../src/stores/CubeEditorState.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"CubeExecutionState.d.ts","sourceRoot":"","sources":["../../src/stores/CubeExecutionState.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAkB,KAAK,KAAK,EAAE,KAAK,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC7E,OAAO,EAAqB,KAAK,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAE3E,OAAO,EACL,eAAe,EAGf,KAAK,eAAe,EACrB,MAAM,gCAAgC,CAAC;AACxC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE5D,sGAAsG;AACtG,MAAM,WAAW,mBAAmB;IAClC,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,4EAA4E;IAC5E,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,sFAAsF;IACtF,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,8BAA8B;IAC9B,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,SAAS,eAAe,EAAE,CAAC,EAAE,CAAC;IACvD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,oDAAoD;IACpD,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,GAAG,EAAE,SAAS,MAAM,EAAE,CAAC;IAChC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAiCD;;;;GAIG;AACH,qBAAa,kBAAkB;IAC7B,QAAQ,CAAC,WAAW,EAAE,eAAe,CAAC;IAEtC,MAAM,EAAE,mBAAmB,GAAG,SAAS,CAAC;IACxC,KAAK,EAAE,eAAe,GAAG,SAAS,CAAC;IACnC,wDAAwD;IACxD,OAAO,CAAC,aAAa,CAA8B;IACnD,OAAO,CAAC,QAAQ,CAAK;gBAET,WAAW,EAAE,eAAe;IAiBxC,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,mGAAmG;IACnG,IAAI,OAAO,IAAI,OAAO,CAOrB;IAED;;;;OAIG;IACH,IAAI,eAAe,IAAI,MAAM,EAAE,CAmB9B;IAED,IAAI,UAAU,IAAI,OAAO,CAExB;IAEA,OAAO,IAAI,WAAW,CAAC,IAAI,CAAC;IAuF7B,8EAA8E;IAC9E,UAAU,IAAI,IAAI;IAIlB,iEAAiE;IACjE,IAAI,IAAI,IAAI;IAKZ,gGAAgG;IAChG,KAAK,IAAI,IAAI;CAKd"}
1
+ {"version":3,"file":"CubeExecutionState.d.ts","sourceRoot":"","sources":["../../src/stores/CubeExecutionState.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAGL,KAAK,KAAK,EACV,KAAK,MAAM,EACZ,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAqB,KAAK,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAS3E,OAAO,EACL,eAAe,EAGf,KAAK,eAAe,EACrB,MAAM,gCAAgC,CAAC;AACxC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE5D,sGAAsG;AACtG,MAAM,WAAW,mBAAmB;IAClC,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,4EAA4E;IAC5E,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,sFAAsF;IACtF,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,8BAA8B;IAC9B,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,SAAS,eAAe,EAAE,CAAC,EAAE,CAAC;IACvD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,oDAAoD;IACpD,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,GAAG,EAAE,SAAS,MAAM,EAAE,CAAC;IAChC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAiCD;;;;GAIG;AACH,qBAAa,kBAAkB;IAC7B,QAAQ,CAAC,WAAW,EAAE,eAAe,CAAC;IAEtC,MAAM,EAAE,mBAAmB,GAAG,SAAS,CAAC;IACxC,KAAK,EAAE,eAAe,GAAG,SAAS,CAAC;IACnC,wDAAwD;IACxD,OAAO,CAAC,aAAa,CAA8B;IACnD,OAAO,CAAC,QAAQ,CAAK;gBAET,WAAW,EAAE,eAAe;IAiBxC,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,mGAAmG;IACnG,IAAI,OAAO,IAAI,OAAO,CAOrB;IAED;;;;OAIG;IACH,IAAI,eAAe,IAAI,MAAM,EAAE,CAmB9B;IAED,IAAI,UAAU,IAAI,OAAO,CAExB;IAEA,OAAO,IAAI,WAAW,CAAC,IAAI,CAAC;IA4G7B,8EAA8E;IAC9E,UAAU,IAAI,IAAI;IAIlB,iEAAiE;IACjE,IAAI,IAAI,IAAI;IAKZ,gGAAgG;IAChG,KAAK,IAAI,IAAI;CAKd"}
@@ -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
- import { isSchemasError } from '@finos/legend-cube';
16
+ import { isSchemasError, needsDatabaseType, } from '@finos/legend-cube';
17
17
  import { assertErrorThrown } from '@finos/legend-shared';
18
- import { action, computed, flow, makeObservable, observable } from 'mobx';
18
+ import { action, computed, flow, flowResult, makeObservable, observable, } from 'mobx';
19
19
  import { CubeEngineError, CubeEngineErrorKind, } from '../graph-manager/CubeEngine.js';
20
20
  /**
21
21
  * The first error found walking up from the capture node, named by its node.
@@ -121,12 +121,28 @@ export class CubeExecutionState {
121
121
  if (!model || !runtime || !schema) {
122
122
  return;
123
123
  }
124
- const lambda = emitter.emitExecutionLambda({ rowLimit, runtime });
124
+ // the run starts before any wait, so Stop works and a second F9 is ignored
125
125
  const controller = new AbortController();
126
126
  this.runController = controller;
127
127
  this.error = undefined;
128
128
  this.editorState.clearHostIssues();
129
129
  try {
130
+ // a Drop, Slice, Limit or Distinct is written for the database it runs on
131
+ // (PLAN §11.4), which the model's outline gives: loaded once, waited
132
+ // for only then; the query, model and runtime are the ones captured
133
+ let databaseType;
134
+ if (needsDatabaseType(query, captureId)) {
135
+ yield flowResult(this.editorState.loadModelOutline(model));
136
+ if (this.runController !== controller || controller.signal.aborted) {
137
+ return;
138
+ }
139
+ databaseType = this.editorState.getRunDatabaseType(query, captureId, model, runtime);
140
+ }
141
+ const lambda = emitter.emitExecutionLambda({
142
+ rowLimit,
143
+ runtime,
144
+ databaseType,
145
+ });
130
146
  const response = (yield host.engine.execute(model, lambda, {
131
147
  abortController: controller,
132
148
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"CubeExecutionState.js","sourceRoot":"","sources":["../../src/stores/CubeExecutionState.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CubeExecutionState.js","sourceRoot":"","sources":["../../src/stores/CubeExecutionState.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Copyright (c) 2026-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 { CubeResultValue } from '../graph-manager/CubeEngine.js';
17
+ import type { CubeEditorState } from './CubeEditorState.js';
18
+ /** One of the grid's quick actions on a cell (spec §12.4) */
19
+ export interface CubeGridQuickAction {
20
+ /** e.g. `Sort by "SHIP_COUNTRY"` */
21
+ readonly label: string;
22
+ /** Why it can't be used, its tooltip then; `undefined` when it can */
23
+ readonly disabledReason: string | undefined;
24
+ /** A note shown as its tooltip when it can be used, e.g. on comparing floats */
25
+ readonly hint: string | undefined;
26
+ /** Adds its node after the node that runs, as one undo step; nothing runs */
27
+ readonly apply: () => void;
28
+ }
29
+ /**
30
+ * The quick actions on a cell of the shown rows (spec §12.4, PLAN §11.4):
31
+ * "Sort by" adds an ascending Sort on the cell's column, and "Filter by" an
32
+ * Equal on its value (Is Empty on a null), after the node that runs, which
33
+ * they replace as the node that runs. Both need the rows to be from the
34
+ * current query, no run in flight, and a cube that can change; "Sort by" a
35
+ * type that sorts, and "Filter by" a value its column's type can compare.
36
+ * Read when the menu opens; `[]` when the position is not a column of the
37
+ * shown rows.
38
+ */
39
+ export declare const getCubeGridQuickActions: (editorState: CubeEditorState, position: number, cell: CubeResultValue) => CubeGridQuickAction[];
40
+ //# sourceMappingURL=CubeGridQuickActions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CubeGridQuickActions.d.ts","sourceRoot":"","sources":["../../src/stores/CubeGridQuickActions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAgBH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE5D,6DAA6D;AAC7D,MAAM,WAAW,mBAAmB;IAClC,oCAAoC;IACpC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,sEAAsE;IACtE,QAAQ,CAAC,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5C,gFAAgF;IAChF,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,6EAA6E;IAC7E,QAAQ,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC;CAC5B;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,uBAAuB,GAClC,aAAa,eAAe,EAC5B,UAAU,MAAM,EAChB,MAAM,eAAe,KACpB,mBAAmB,EAqErB,CAAC"}
@@ -0,0 +1,86 @@
1
+ /**
2
+ * Copyright (c) 2026-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 { buildQuickFilterRule, FilterOperator, Filter, isOperatorAvailable, isSortableType, Sort, TypeFamily, } from '@finos/legend-cube';
17
+ import { CUBE_QUICK_ACTION_DISABLED_REASON, FILTER_FLOAT_COMPARISON_HINT, READ_ONLY_CUBE_TITLE, } from '../__lib__/LegendCubeLabels.js';
18
+ /**
19
+ * The quick actions on a cell of the shown rows (spec §12.4, PLAN §11.4):
20
+ * "Sort by" adds an ascending Sort on the cell's column, and "Filter by" an
21
+ * Equal on its value (Is Empty on a null), after the node that runs, which
22
+ * they replace as the node that runs. Both need the rows to be from the
23
+ * current query, no run in flight, and a cube that can change; "Sort by" a
24
+ * type that sorts, and "Filter by" a value its column's type can compare.
25
+ * Read when the menu opens; `[]` when the position is not a column of the
26
+ * shown rows.
27
+ */
28
+ export const getCubeGridQuickActions = (editorState, position, cell) => {
29
+ const { execution, document } = editorState;
30
+ const { result } = execution;
31
+ const column = result?.schema.columns[position];
32
+ if (!result || !column) {
33
+ return [];
34
+ }
35
+ const { query } = document;
36
+ const afterId = query.selected;
37
+ const typeName = column.type.displayName;
38
+ const rule = buildQuickFilterRule(column.name, column.type, cell);
39
+ // what keeps both from being used, in order
40
+ const blocked = result.query !== query
41
+ ? CUBE_QUICK_ACTION_DISABLED_REASON.STALE_ROWS
42
+ : execution.isRunning
43
+ ? CUBE_QUICK_ACTION_DISABLED_REASON.RUNNING
44
+ : editorState.readOnly
45
+ ? READ_ONLY_CUBE_TITLE
46
+ : undefined;
47
+ const sortReason = blocked ??
48
+ (isSortableType(column.type)
49
+ ? undefined
50
+ : CUBE_QUICK_ACTION_DISABLED_REASON.notSortable(typeName));
51
+ const filterReason = blocked ??
52
+ (rule
53
+ ? undefined
54
+ : isOperatorAvailable(FilterOperator.EQUAL, column.type)
55
+ ? CUBE_QUICK_ACTION_DISABLED_REASON.UNREADABLE_VALUE
56
+ : CUBE_QUICK_ACTION_DISABLED_REASON.notComparable(typeName));
57
+ return [
58
+ {
59
+ label: `Sort by "${column.name}"`,
60
+ disabledReason: sortReason,
61
+ hint: undefined,
62
+ apply: () => {
63
+ // as the menu found it: nothing changed since it opened
64
+ if (sortReason === undefined && editorState.document.query === query) {
65
+ editorState.addConfiguredNode(Sort.byColumn(query.generateId(Sort.TYPE), column.name), afterId);
66
+ }
67
+ },
68
+ },
69
+ {
70
+ label: `Filter by "${column.name}"`,
71
+ disabledReason: filterReason,
72
+ hint: rule?.operator === FilterOperator.EQUAL &&
73
+ column.type.family === TypeFamily.FLOAT
74
+ ? FILTER_FLOAT_COMPARISON_HINT
75
+ : undefined,
76
+ apply: () => {
77
+ if (filterReason === undefined &&
78
+ rule &&
79
+ editorState.document.query === query) {
80
+ editorState.addConfiguredNode(new Filter(query.generateId(Filter.TYPE), rule), afterId);
81
+ }
82
+ },
83
+ },
84
+ ];
85
+ };
86
+ //# sourceMappingURL=CubeGridQuickActions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CubeGridQuickActions.js","sourceRoot":"","sources":["../../src/stores/CubeGridQuickActions.ts"],"names":[],"mappings":"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"}
@@ -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
- import type { NodeRegistry, QueryNode } from '@finos/legend-cube';
16
+ import { type NodeRegistry, type QueryNode } from '@finos/legend-cube';
17
17
  import { CUBE_EDITOR_CLOSED_REASON } from '../__lib__/LegendCubeLabels.js';
18
18
  import type { CubeEditorState } from './CubeEditorState.js';
19
19
  import type { CubeNodeDraft } from './editors/CubeNodeDraft.js';
@@ -65,6 +65,24 @@ export declare class CubeNodeEditorState {
65
65
  * node, whose settings followed its inputs
66
66
  */
67
67
  swapInputs(): void;
68
+ /**
69
+ * The cube's query with the draft in place of its node, when it has
70
+ * changes, and the schemas of the node's inputs, which the draft doesn't
71
+ * change
72
+ */
73
+ private get queryWithEdits();
74
+ /**
75
+ * Whether the join being edited, edits included, can have the columns its
76
+ * inputs share renamed (spec §7.11's autofix, PLAN §11.4): its only problem
77
+ * is the duplicate rule, and the cube isn't read-only
78
+ */
79
+ get canRenameDuplicateColumns(): boolean;
80
+ /**
81
+ * Renames the columns the join's inputs share with a Rename before each
82
+ * input, applying the draft first, as one undo step, then goes on editing
83
+ * the join, whose keys follow the renames
84
+ */
85
+ renameDuplicateColumns(): void;
68
86
  /** Applies the draft, then closes the panel (spec §17.5: edits commit on close) */
69
87
  close(): void;
70
88
  /** Closes the panel, dropping the draft */
@@ -1 +1 @@
1
- {"version":3,"file":"CubeNodeEditorState.d.ts","sourceRoot":"","sources":["../../src/stores/CubeNodeEditorState.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AASlE,OAAO,EACL,yBAAyB,EAE1B,MAAM,gCAAgC,CAAC;AACxC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAGhE;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,GAC5B,UAAU,YAAY,EACtB,GAAG,SAAS,EACZ,GAAG,SAAS,KACX,OAWF,CAAC;AAEF;;;;;;;;;GASG;AACH,qBAAa,mBAAmB;IAC9B,QAAQ,CAAC,WAAW,EAAE,eAAe,CAAC;IAEtC,2DAA2D;IAC3D,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,kDAAkD;IAClD,OAAO,CAAC,OAAO,CAAqB;IACpC,KAAK,EAAE,aAAa,GAAG,SAAS,CAAC;IACjC,2EAA2E;IAC3E,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAE3B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAoB;gBAEpC,WAAW,EAAE,eAAe;IA0BxC,uDAAuD;IACvD,IAAI,IAAI,IAAI,SAAS,GAAG,SAAS,CAIhC;IAED,sDAAsD;IACtD,IAAI,MAAM,IAAI,SAAS,GAAG,SAAS,CAElC;IAED,iEAAiE;IACjE,IAAI,UAAU,IAAI,OAAO,CAOxB;IAED,6EAA6E;IAC7E,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAc1B;;;;OAIG;IACH,KAAK,IAAI,IAAI;IAkBb,IAAI,aAAa,IAAI,OAAO,CAO3B;IAED;;;;OAIG;IACH,UAAU,IAAI,IAAI;IAclB,mFAAmF;IACnF,KAAK,IAAI,IAAI;IAKb,2CAA2C;IAC3C,MAAM,IAAI,IAAI;IAId;;;OAGG;IACH,OAAO,CAAC,MAAM,EAAE,yBAAyB,GAAG,IAAI;IAQhD,aAAa,IAAI,IAAI;IAIrB,0DAA0D;IAC1D,OAAO,IAAI,IAAI;IAIf,OAAO,CAAC,IAAI;IAMZ,OAAO,CAAC,KAAK;IAMb,4EAA4E;IAC5E,OAAO,CAAC,IAAI;CAiBb"}
1
+ {"version":3,"file":"CubeNodeEditorState.d.ts","sourceRoot":"","sources":["../../src/stores/CubeNodeEditorState.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAGL,KAAK,YAAY,EAEjB,KAAK,SAAS,EAEf,MAAM,oBAAoB,CAAC;AAS5B,OAAO,EACL,yBAAyB,EAE1B,MAAM,gCAAgC,CAAC;AACxC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAGhE;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,GAC5B,UAAU,YAAY,EACtB,GAAG,SAAS,EACZ,GAAG,SAAS,KACX,OAWF,CAAC;AAEF;;;;;;;;;GASG;AACH,qBAAa,mBAAmB;IAC9B,QAAQ,CAAC,WAAW,EAAE,eAAe,CAAC;IAEtC,2DAA2D;IAC3D,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,kDAAkD;IAClD,OAAO,CAAC,OAAO,CAAqB;IACpC,KAAK,EAAE,aAAa,GAAG,SAAS,CAAC;IACjC,2EAA2E;IAC3E,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAE3B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAoB;gBAEpC,WAAW,EAAE,eAAe;IA4BxC,uDAAuD;IACvD,IAAI,IAAI,IAAI,SAAS,GAAG,SAAS,CAIhC;IAED,sDAAsD;IACtD,IAAI,MAAM,IAAI,SAAS,GAAG,SAAS,CAElC;IAED,iEAAiE;IACjE,IAAI,UAAU,IAAI,OAAO,CAOxB;IAED,6EAA6E;IAC7E,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAc1B;;;;OAIG;IACH,KAAK,IAAI,IAAI;IAkBb,IAAI,aAAa,IAAI,OAAO,CAO3B;IAED;;;;OAIG;IACH,UAAU,IAAI,IAAI;IAclB;;;;OAIG;IACH,OAAO,KAAK,cAAc,GAqBzB;IAED;;;;OAIG;IACH,IAAI,yBAAyB,IAAI,OAAO,CAQvC;IAED;;;;OAIG;IACH,sBAAsB,IAAI,IAAI;IAY9B,mFAAmF;IACnF,KAAK,IAAI,IAAI;IAKb,2CAA2C;IAC3C,MAAM,IAAI,IAAI;IAId;;;OAGG;IACH,OAAO,CAAC,MAAM,EAAE,yBAAyB,GAAG,IAAI;IAQhD,aAAa,IAAI,IAAI;IAIrB,0DAA0D;IAC1D,OAAO,IAAI,IAAI;IAIf,OAAO,CAAC,IAAI;IAMZ,OAAO,CAAC,KAAK;IAMb,4EAA4E;IAC5E,OAAO,CAAC,IAAI;CAiBb"}