@finos/legend-query-builder 4.15.2 → 4.15.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (108) hide show
  1. package/lib/__lib__/QueryBuilderTesting.d.ts +1 -0
  2. package/lib/__lib__/QueryBuilderTesting.d.ts.map +1 -1
  3. package/lib/__lib__/QueryBuilderTesting.js +2 -0
  4. package/lib/__lib__/QueryBuilderTesting.js.map +1 -1
  5. package/lib/components/data-cube/QueryBuilderDataCube.d.ts.map +1 -1
  6. package/lib/components/data-cube/QueryBuilderDataCube.js +6 -7
  7. package/lib/components/data-cube/QueryBuilderDataCube.js.map +1 -1
  8. package/lib/components/explorer/QueryBuilderFunctionsExplorerPanel.d.ts.map +1 -1
  9. package/lib/components/explorer/QueryBuilderFunctionsExplorerPanel.js +38 -33
  10. package/lib/components/explorer/QueryBuilderFunctionsExplorerPanel.js.map +1 -1
  11. package/lib/components/fetch-structure/QueryBuilderTDSPanel.d.ts.map +1 -1
  12. package/lib/components/fetch-structure/QueryBuilderTDSPanel.js +12 -5
  13. package/lib/components/fetch-structure/QueryBuilderTDSPanel.js.map +1 -1
  14. package/lib/components/filter/QueryBuilderFilterPanel.js +2 -2
  15. package/lib/components/filter/QueryBuilderFilterPanel.js.map +1 -1
  16. package/lib/components/result/tds/QueryBuilderTDSGridResult.d.ts.map +1 -1
  17. package/lib/components/result/tds/QueryBuilderTDSGridResult.js +4 -3
  18. package/lib/components/result/tds/QueryBuilderTDSGridResult.js.map +1 -1
  19. package/lib/components/result/tds/QueryBuilderTDSResultShared.d.ts +2 -2
  20. package/lib/components/result/tds/QueryBuilderTDSResultShared.d.ts.map +1 -1
  21. package/lib/components/result/tds/QueryBuilderTDSResultShared.js +157 -19
  22. package/lib/components/result/tds/QueryBuilderTDSResultShared.js.map +1 -1
  23. package/lib/index.css +2 -2
  24. package/lib/index.css.map +1 -1
  25. package/lib/index.d.ts +1 -1
  26. package/lib/index.d.ts.map +1 -1
  27. package/lib/index.js.map +1 -1
  28. package/lib/package.json +1 -1
  29. package/lib/stores/QueryBuilderState.d.ts +6 -1
  30. package/lib/stores/QueryBuilderState.d.ts.map +1 -1
  31. package/lib/stores/QueryBuilderState.js +3 -0
  32. package/lib/stores/QueryBuilderState.js.map +1 -1
  33. package/lib/stores/explorer/QueryFunctionsExplorerState.d.ts +17 -6
  34. package/lib/stores/explorer/QueryFunctionsExplorerState.d.ts.map +1 -1
  35. package/lib/stores/explorer/QueryFunctionsExplorerState.js +142 -59
  36. package/lib/stores/explorer/QueryFunctionsExplorerState.js.map +1 -1
  37. package/lib/stores/filter/QueryBuilderFilterOperator.d.ts +1 -1
  38. package/lib/stores/filter/QueryBuilderFilterOperator.d.ts.map +1 -1
  39. package/lib/stores/filter/QueryBuilderFilterState.d.ts +1 -1
  40. package/lib/stores/filter/QueryBuilderFilterState.d.ts.map +1 -1
  41. package/lib/stores/filter/QueryBuilderFilterState.js +8 -3
  42. package/lib/stores/filter/QueryBuilderFilterState.js.map +1 -1
  43. package/lib/stores/filter/QueryBuilderFilterStateBuilder.js +1 -1
  44. package/lib/stores/filter/QueryBuilderFilterStateBuilder.js.map +1 -1
  45. package/lib/stores/filter/operators/QueryBuilderFilterOperator_Contain.d.ts +2 -2
  46. package/lib/stores/filter/operators/QueryBuilderFilterOperator_Contain.d.ts.map +1 -1
  47. package/lib/stores/filter/operators/QueryBuilderFilterOperator_Contain.js +3 -3
  48. package/lib/stores/filter/operators/QueryBuilderFilterOperator_Contain.js.map +1 -1
  49. package/lib/stores/filter/operators/QueryBuilderFilterOperator_EndWith.d.ts +2 -2
  50. package/lib/stores/filter/operators/QueryBuilderFilterOperator_EndWith.d.ts.map +1 -1
  51. package/lib/stores/filter/operators/QueryBuilderFilterOperator_EndWith.js +3 -3
  52. package/lib/stores/filter/operators/QueryBuilderFilterOperator_EndWith.js.map +1 -1
  53. package/lib/stores/filter/operators/QueryBuilderFilterOperator_Equal.d.ts +2 -2
  54. package/lib/stores/filter/operators/QueryBuilderFilterOperator_Equal.d.ts.map +1 -1
  55. package/lib/stores/filter/operators/QueryBuilderFilterOperator_Equal.js +2 -2
  56. package/lib/stores/filter/operators/QueryBuilderFilterOperator_Equal.js.map +1 -1
  57. package/lib/stores/filter/operators/QueryBuilderFilterOperator_GreaterThan.d.ts +1 -1
  58. package/lib/stores/filter/operators/QueryBuilderFilterOperator_GreaterThan.d.ts.map +1 -1
  59. package/lib/stores/filter/operators/QueryBuilderFilterOperator_GreaterThan.js +2 -2
  60. package/lib/stores/filter/operators/QueryBuilderFilterOperator_GreaterThan.js.map +1 -1
  61. package/lib/stores/filter/operators/QueryBuilderFilterOperator_GreaterThanEqual.d.ts +1 -1
  62. package/lib/stores/filter/operators/QueryBuilderFilterOperator_GreaterThanEqual.d.ts.map +1 -1
  63. package/lib/stores/filter/operators/QueryBuilderFilterOperator_GreaterThanEqual.js +2 -2
  64. package/lib/stores/filter/operators/QueryBuilderFilterOperator_GreaterThanEqual.js.map +1 -1
  65. package/lib/stores/filter/operators/QueryBuilderFilterOperator_In.d.ts +2 -2
  66. package/lib/stores/filter/operators/QueryBuilderFilterOperator_In.d.ts.map +1 -1
  67. package/lib/stores/filter/operators/QueryBuilderFilterOperator_In.js +2 -2
  68. package/lib/stores/filter/operators/QueryBuilderFilterOperator_In.js.map +1 -1
  69. package/lib/stores/filter/operators/QueryBuilderFilterOperator_IsEmpty.d.ts +2 -2
  70. package/lib/stores/filter/operators/QueryBuilderFilterOperator_IsEmpty.d.ts.map +1 -1
  71. package/lib/stores/filter/operators/QueryBuilderFilterOperator_IsEmpty.js +2 -2
  72. package/lib/stores/filter/operators/QueryBuilderFilterOperator_IsEmpty.js.map +1 -1
  73. package/lib/stores/filter/operators/QueryBuilderFilterOperator_LessThan.d.ts +1 -1
  74. package/lib/stores/filter/operators/QueryBuilderFilterOperator_LessThan.d.ts.map +1 -1
  75. package/lib/stores/filter/operators/QueryBuilderFilterOperator_LessThan.js +2 -2
  76. package/lib/stores/filter/operators/QueryBuilderFilterOperator_LessThan.js.map +1 -1
  77. package/lib/stores/filter/operators/QueryBuilderFilterOperator_LessThanEqual.d.ts +1 -1
  78. package/lib/stores/filter/operators/QueryBuilderFilterOperator_LessThanEqual.d.ts.map +1 -1
  79. package/lib/stores/filter/operators/QueryBuilderFilterOperator_LessThanEqual.js +2 -2
  80. package/lib/stores/filter/operators/QueryBuilderFilterOperator_LessThanEqual.js.map +1 -1
  81. package/lib/stores/filter/operators/QueryBuilderFilterOperator_StartWith.d.ts +2 -2
  82. package/lib/stores/filter/operators/QueryBuilderFilterOperator_StartWith.d.ts.map +1 -1
  83. package/lib/stores/filter/operators/QueryBuilderFilterOperator_StartWith.js +3 -3
  84. package/lib/stores/filter/operators/QueryBuilderFilterOperator_StartWith.js.map +1 -1
  85. package/package.json +6 -6
  86. package/src/__lib__/QueryBuilderTesting.ts +2 -0
  87. package/src/components/data-cube/QueryBuilderDataCube.tsx +15 -25
  88. package/src/components/explorer/QueryBuilderFunctionsExplorerPanel.tsx +63 -70
  89. package/src/components/fetch-structure/QueryBuilderTDSPanel.tsx +23 -11
  90. package/src/components/filter/QueryBuilderFilterPanel.tsx +2 -2
  91. package/src/components/result/tds/QueryBuilderTDSGridResult.tsx +7 -3
  92. package/src/components/result/tds/QueryBuilderTDSResultShared.tsx +334 -26
  93. package/src/index.ts +1 -0
  94. package/src/stores/QueryBuilderState.ts +12 -0
  95. package/src/stores/explorer/QueryFunctionsExplorerState.ts +227 -94
  96. package/src/stores/filter/QueryBuilderFilterOperator.ts +1 -1
  97. package/src/stores/filter/QueryBuilderFilterState.ts +10 -5
  98. package/src/stores/filter/QueryBuilderFilterStateBuilder.ts +1 -1
  99. package/src/stores/filter/operators/QueryBuilderFilterOperator_Contain.ts +3 -5
  100. package/src/stores/filter/operators/QueryBuilderFilterOperator_EndWith.ts +3 -5
  101. package/src/stores/filter/operators/QueryBuilderFilterOperator_Equal.ts +2 -2
  102. package/src/stores/filter/operators/QueryBuilderFilterOperator_GreaterThan.ts +2 -4
  103. package/src/stores/filter/operators/QueryBuilderFilterOperator_GreaterThanEqual.ts +2 -4
  104. package/src/stores/filter/operators/QueryBuilderFilterOperator_In.ts +2 -2
  105. package/src/stores/filter/operators/QueryBuilderFilterOperator_IsEmpty.ts +2 -2
  106. package/src/stores/filter/operators/QueryBuilderFilterOperator_LessThan.ts +2 -4
  107. package/src/stores/filter/operators/QueryBuilderFilterOperator_LessThanEqual.ts +2 -4
  108. package/src/stores/filter/operators/QueryBuilderFilterOperator_StartWith.ts +3 -5
@@ -1 +1 @@
1
- {"version":3,"file":"QueryBuilderFilterOperator_LessThanEqual.js","sourceRoot":"","sources":["../../../../src/stores/filter/operators/QueryBuilderFilterOperator_LessThanEqual.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"QueryBuilderFilterOperator_LessThanEqual.js","sourceRoot":"","sources":["../../../../src/stores/filter/operators/QueryBuilderFilterOperator_LessThanEqual.ts"],"names":[],"mappings":"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"}
@@ -18,7 +18,7 @@ import { QueryBuilderFilterOperator } from '../QueryBuilderFilterOperator.js';
18
18
  import { type ValueSpecification, type SimpleFunctionExpression } from '@finos/legend-graph';
19
19
  import { type Hashable } from '@finos/legend-shared';
20
20
  export declare class QueryBuilderFilterOperator_StartWith extends QueryBuilderFilterOperator implements Hashable {
21
- getLabel(filterConditionState: FilterConditionState): string;
21
+ getLabel(): string;
22
22
  isCompatibleWithFilterConditionProperty(filterConditionState: FilterConditionState): boolean;
23
23
  isCompatibleWithFilterConditionValue(filterConditionState: FilterConditionState): boolean;
24
24
  getDefaultFilterConditionValue(filterConditionState: FilterConditionState): ValueSpecification | undefined;
@@ -27,7 +27,7 @@ export declare class QueryBuilderFilterOperator_StartWith extends QueryBuilderFi
27
27
  get hashCode(): string;
28
28
  }
29
29
  export declare class QueryBuilderFilterOperator_NotStartWith extends QueryBuilderFilterOperator_StartWith {
30
- getLabel(filterConditionState: FilterConditionState): string;
30
+ getLabel(): string;
31
31
  buildFilterConditionExpression(filterConditionState: FilterConditionState, lambdaParameterName?: string | undefined): ValueSpecification;
32
32
  buildFilterConditionState(filterState: QueryBuilderFilterState, expression: SimpleFunctionExpression): FilterConditionState | undefined;
33
33
  get hashCode(): string;
@@ -1 +1 @@
1
- {"version":3,"file":"QueryBuilderFilterOperator_StartWith.d.ts","sourceRoot":"","sources":["../../../../src/stores/filter/operators/QueryBuilderFilterOperator_StartWith.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EACV,uBAAuB,EACvB,oBAAoB,EACrB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,0BAA0B,EAAE,MAAM,kCAAkC,CAAC;AAC9E,OAAO,EAEL,KAAK,kBAAkB,EACvB,KAAK,wBAAwB,EAE9B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,KAAK,QAAQ,EAGd,MAAM,sBAAsB,CAAC;AAa9B,qBAAa,oCACX,SAAQ,0BACR,YAAW,QAAQ;IAEnB,QAAQ,CAAC,oBAAoB,EAAE,oBAAoB,GAAG,MAAM;IAI5D,uCAAuC,CACrC,oBAAoB,EAAE,oBAAoB,GACzC,OAAO;IAQV,oCAAoC,CAClC,oBAAoB,EAAE,oBAAoB,GACzC,OAAO;IASV,8BAA8B,CAC5B,oBAAoB,EAAE,oBAAoB,GACzC,kBAAkB,GAAG,SAAS;IAwBjC,8BAA8B,CAC5B,oBAAoB,EAAE,oBAAoB,EAC1C,mBAAmB,CAAC,EAAE,MAAM,GAAG,SAAS,GACvC,kBAAkB;IAQrB,yBAAyB,CACvB,WAAW,EAAE,uBAAuB,EACpC,UAAU,EAAE,wBAAwB,GACnC,oBAAoB,GAAG,SAAS;IASnC,IAAI,QAAQ,IAAI,MAAM,CAIrB;CACF;AAED,qBAAa,uCAAwC,SAAQ,oCAAoC;IACtF,QAAQ,CAAC,oBAAoB,EAAE,oBAAoB,GAAG,MAAM;IAI5D,8BAA8B,CACrC,oBAAoB,EAAE,oBAAoB,EAC1C,mBAAmB,CAAC,EAAE,MAAM,GAAG,SAAS,GACvC,kBAAkB;IASZ,yBAAyB,CAChC,WAAW,EAAE,uBAAuB,EACpC,UAAU,EAAE,wBAAwB,GACnC,oBAAoB,GAAG,SAAS;IAOnC,IAAa,QAAQ,IAAI,MAAM,CAI9B;CACF"}
1
+ {"version":3,"file":"QueryBuilderFilterOperator_StartWith.d.ts","sourceRoot":"","sources":["../../../../src/stores/filter/operators/QueryBuilderFilterOperator_StartWith.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EACV,uBAAuB,EACvB,oBAAoB,EACrB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,0BAA0B,EAAE,MAAM,kCAAkC,CAAC;AAC9E,OAAO,EAEL,KAAK,kBAAkB,EACvB,KAAK,wBAAwB,EAE9B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,KAAK,QAAQ,EAGd,MAAM,sBAAsB,CAAC;AAa9B,qBAAa,oCACX,SAAQ,0BACR,YAAW,QAAQ;IAEnB,QAAQ,IAAI,MAAM;IAIlB,uCAAuC,CACrC,oBAAoB,EAAE,oBAAoB,GACzC,OAAO;IAQV,oCAAoC,CAClC,oBAAoB,EAAE,oBAAoB,GACzC,OAAO;IASV,8BAA8B,CAC5B,oBAAoB,EAAE,oBAAoB,GACzC,kBAAkB,GAAG,SAAS;IAsBjC,8BAA8B,CAC5B,oBAAoB,EAAE,oBAAoB,EAC1C,mBAAmB,CAAC,EAAE,MAAM,GAAG,SAAS,GACvC,kBAAkB;IAQrB,yBAAyB,CACvB,WAAW,EAAE,uBAAuB,EACpC,UAAU,EAAE,wBAAwB,GACnC,oBAAoB,GAAG,SAAS;IASnC,IAAI,QAAQ,IAAI,MAAM,CAIrB;CACF;AAED,qBAAa,uCAAwC,SAAQ,oCAAoC;IACtF,QAAQ,IAAI,MAAM;IAIlB,8BAA8B,CACrC,oBAAoB,EAAE,oBAAoB,EAC1C,mBAAmB,CAAC,EAAE,MAAM,GAAG,SAAS,GACvC,kBAAkB;IASZ,yBAAyB,CAChC,WAAW,EAAE,uBAAuB,EACpC,UAAU,EAAE,wBAAwB,GACnC,oBAAoB,GAAG,SAAS;IAOnC,IAAa,QAAQ,IAAI,MAAM,CAI9B;CACF"}
@@ -22,7 +22,7 @@ import { buildNotExpression, unwrapNotExpression, } from '../../QueryBuilderValu
22
22
  import { QUERY_BUILDER_STATE_HASH_STRUCTURE } from '../../QueryBuilderStateHashUtils.js';
23
23
  import { buildDefaultInstanceValue } from '../../shared/ValueSpecificationEditorHelper.js';
24
24
  export class QueryBuilderFilterOperator_StartWith extends QueryBuilderFilterOperator {
25
- getLabel(filterConditionState) {
25
+ getLabel() {
26
26
  return 'starts with';
27
27
  }
28
28
  isCompatibleWithFilterConditionProperty(filterConditionState) {
@@ -47,7 +47,7 @@ export class QueryBuilderFilterOperator_StartWith extends QueryBuilderFilterOper
47
47
  .INTERNAL__enableInitializingDefaultSimpleExpressionValue);
48
48
  }
49
49
  default:
50
- throw new UnsupportedOperationError(`Can't get default value for filter operator '${this.getLabel(filterConditionState)}' when the LHS property is of type '${propertyType.path}'`);
50
+ throw new UnsupportedOperationError(`Can't get default value for filter operator '${this.getLabel()}' when the LHS property is of type '${propertyType.path}'`);
51
51
  }
52
52
  }
53
53
  buildFilterConditionExpression(filterConditionState, lambdaParameterName) {
@@ -63,7 +63,7 @@ export class QueryBuilderFilterOperator_StartWith extends QueryBuilderFilterOper
63
63
  }
64
64
  }
65
65
  export class QueryBuilderFilterOperator_NotStartWith extends QueryBuilderFilterOperator_StartWith {
66
- getLabel(filterConditionState) {
66
+ getLabel() {
67
67
  return `doesn't start with`;
68
68
  }
69
69
  buildFilterConditionExpression(filterConditionState, lambdaParameterName) {
@@ -1 +1 @@
1
- {"version":3,"file":"QueryBuilderFilterOperator_StartWith.js","sourceRoot":"","sources":["../../../../src/stores/filter/operators/QueryBuilderFilterOperator_StartWith.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAMH,OAAO,EAAE,0BAA0B,EAAE,MAAM,kCAAkC,CAAC;AAC9E,OAAO,EACL,cAAc,EAGd,aAAa,GACd,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAEL,yBAAyB,EACzB,SAAS,GACV,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,yBAAyB,EACzB,8BAA8B,GAC/B,MAAM,0DAA0D,CAAC;AAClE,OAAO,EAAE,iCAAiC,EAAE,MAAM,8CAA8C,CAAC;AACjG,OAAO,EACL,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,+CAA+C,CAAC;AACvD,OAAO,EAAE,kCAAkC,EAAE,MAAM,qCAAqC,CAAC;AACzF,OAAO,EAAE,yBAAyB,EAAE,MAAM,gDAAgD,CAAC;AAE3F,MAAM,OAAO,oCACX,SAAQ,0BAA0B;IAGlC,QAAQ,CAAC,oBAA0C;QACjD,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,uCAAuC,CACrC,oBAA0C;QAE1C,OAAO,CACL,aAAa,CAAC,MAAM;YACpB,oBAAoB,CAAC,uBAAuB,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK;iBACvE,WAAW,CAAC,KAAK,CAAC,OAAO,CAC7B,CAAC;IACJ,CAAC;IAED,oCAAoC,CAClC,oBAA0C;QAE1C,MAAM,IAAI,GACR,oBAAoB,CAAC,mBAAmB;YACxC,CAAC,oBAAoB,CAAC,mBAAmB,CAAC,YAAY;YACpD,CAAC,CAAC,oBAAoB,CAAC,mBAAmB,CAAC,IAAI;YAC/C,CAAC,CAAC,SAAS,CAAC;QAChB,OAAO,aAAa,CAAC,MAAM,KAAK,IAAI,CAAC;IACvC,CAAC;IAED,8BAA8B,CAC5B,oBAA0C;QAE1C,MAAM,YAAY,GAChB,oBAAoB,CAAC,uBAAuB,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK;aACvE,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC;QAC/B,QAAQ,YAAY,CAAC,IAAI,EAAE,CAAC;YAC1B,KAAK,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC3B,OAAO,yBAAyB,CAC9B,oBAAoB,CAAC,WAAW,CAAC,iBAAiB,CAAC,iBAAiB;qBACjE,KAAK,EACR,YAAY,EACZ,oBAAoB,CAAC,WAAW,CAAC,iBAAiB,CAAC,eAAe,EAClE,oBAAoB,CAAC,WAAW,CAAC,iBAAiB;qBAC/C,wDAAwD,CAC5D,CAAC;YACJ,CAAC;YACD;gBACE,MAAM,IAAI,yBAAyB,CACjC,gDAAgD,IAAI,CAAC,QAAQ,CAC3D,oBAAoB,CACrB,uCAAuC,YAAY,CAAC,IAAI,GAAG,CAC7D,CAAC;QACN,CAAC;IACH,CAAC;IAED,8BAA8B,CAC5B,oBAA0C,EAC1C,mBAAwC;QAExC,OAAO,8BAA8B,CACnC,oBAAoB,EACpB,iCAAiC,CAAC,WAAW,EAC7C,mBAAmB,CACpB,CAAC;IACJ,CAAC;IAED,yBAAyB,CACvB,WAAoC,EACpC,UAAoC;QAEpC,OAAO,yBAAyB,CAC9B,WAAW,EACX,UAAU,EACV,iCAAiC,CAAC,WAAW,EAC7C,IAAI,CACL,CAAC;IACJ,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,SAAS,CAAC;YACf,kCAAkC,CAAC,0BAA0B;SAC9D,CAAC,CAAC;IACL,CAAC;CACF;AAED,MAAM,OAAO,uCAAwC,SAAQ,oCAAoC;IACtF,QAAQ,CAAC,oBAA0C;QAC1D,OAAO,oBAAoB,CAAC;IAC9B,CAAC;IAEQ,8BAA8B,CACrC,oBAA0C,EAC1C,mBAAwC;QAExC,OAAO,kBAAkB,CACvB,KAAK,CAAC,8BAA8B,CAClC,oBAAoB,EACpB,mBAAmB,CACpB,CACF,CAAC;IACJ,CAAC;IAEQ,yBAAyB,CAChC,WAAoC,EACpC,UAAoC;QAEpC,MAAM,eAAe,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;QACxD,OAAO,eAAe;YACpB,CAAC,CAAC,KAAK,CAAC,yBAAyB,CAAC,WAAW,EAAE,eAAe,CAAC;YAC/D,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;IAED,IAAa,QAAQ;QACnB,OAAO,SAAS,CAAC;YACf,kCAAkC,CAAC,8BAA8B;SAClE,CAAC,CAAC;IACL,CAAC;CACF"}
1
+ {"version":3,"file":"QueryBuilderFilterOperator_StartWith.js","sourceRoot":"","sources":["../../../../src/stores/filter/operators/QueryBuilderFilterOperator_StartWith.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@finos/legend-query-builder",
3
- "version": "4.15.2",
3
+ "version": "4.15.4",
4
4
  "description": "Legend query builder core",
5
5
  "keywords": [
6
6
  "legend",
@@ -44,11 +44,11 @@
44
44
  "dependencies": {
45
45
  "@finos/legend-application": "16.0.3",
46
46
  "@finos/legend-art": "7.1.62",
47
- "@finos/legend-code-editor": "2.0.3",
48
- "@finos/legend-data-cube": "0.0.8",
49
- "@finos/legend-graph": "31.10.37",
50
- "@finos/legend-lego": "2.0.5",
51
- "@finos/legend-server-depot": "6.0.62",
47
+ "@finos/legend-code-editor": "2.0.5",
48
+ "@finos/legend-data-cube": "0.0.10",
49
+ "@finos/legend-graph": "31.10.39",
50
+ "@finos/legend-lego": "2.0.7",
51
+ "@finos/legend-server-depot": "6.0.63",
52
52
  "@finos/legend-shared": "10.0.57",
53
53
  "@finos/legend-storage": "3.0.107",
54
54
  "@testing-library/dom": "10.4.0",
@@ -53,6 +53,8 @@ export enum QUERY_BUILDER_TEST_ID {
53
53
  QUERY_BUILDER_PARAMETERS = 'query-builder__parameters',
54
54
  // constant panel
55
55
  QUERY_BUILDER_CONSTANTS = 'query-builder__constants',
56
+ // function panel
57
+ QUERY_BUILDER_FUNCTIONS = 'query-builder__functions',
56
58
  // other
57
59
  QUERY_BUILDER_TOOLTIP_ICON = 'query-builder__tooltip__icon',
58
60
  // result panel
@@ -21,12 +21,11 @@ import { QueryBuilderDataCubeApplicationEngine } from '../../stores/data-cube/Qu
21
21
  import {
22
22
  clsx,
23
23
  Dialog,
24
- EmptyWindowRestoreIcon,
25
24
  Modal,
25
+ ModalFooter,
26
+ ModalFooterButton,
26
27
  TimesIcon,
27
- WindowMaximizeIcon,
28
28
  } from '@finos/legend-art';
29
- import { useState } from 'react';
30
29
  import { createDataCubeEngineFromQueryBuilder } from '../../stores/data-cube/QueryBuilderDataCubeEngineHelper.js';
31
30
 
32
31
  const QueryBuilderDataCube = observer(
@@ -55,37 +54,25 @@ const QueryBuilderDataCube = observer(
55
54
  export const QueryBuilderDataCubeDialog = observer(
56
55
  (props: { queryBuilderState: QueryBuilderState }) => {
57
56
  const { queryBuilderState } = props;
58
- const [isMaximized, setIsMaximized] = useState(false);
59
- const toggleMaximize = (): void => setIsMaximized(!isMaximized);
60
57
  const closeModal = () => queryBuilderState.setIsCubeEnabled(false);
61
58
  return (
62
59
  <Dialog
63
60
  open={true}
64
61
  onClose={closeModal}
65
- classes={{ container: 'dataspace-info-modal__container' }}
62
+ classes={{
63
+ root: 'editor-modal__root-container',
64
+ container: 'editor-modal__container',
65
+ paper: 'editor-modal__content',
66
+ }}
66
67
  >
67
68
  <Modal
68
69
  darkMode={false}
69
- className={clsx('editor-modal query-builder__dialog', {
70
- 'query-builder__dialog--expanded': isMaximized,
71
- })}
70
+ className={clsx('editor-modal query-builder-data-cube__dialog')}
72
71
  >
73
- <div className="query-builder__dialog__header">
74
- <div className="query-builder__dialog__header__actions">
72
+ <div className="query-builder-data-cube__dialog__header">
73
+ <div className="query-builder-data-cube__dialog__header__actions">
75
74
  <button
76
- className="query-builder__dialog__header__action"
77
- tabIndex={-1}
78
- onClick={toggleMaximize}
79
- title={isMaximized ? 'Minimize' : 'Maximize'}
80
- >
81
- {isMaximized ? (
82
- <EmptyWindowRestoreIcon />
83
- ) : (
84
- <WindowMaximizeIcon />
85
- )}
86
- </button>
87
- <button
88
- className="query-builder__dialog__header__action"
75
+ className="query-builder-data-cube__dialog__header__action"
89
76
  tabIndex={-1}
90
77
  onClick={closeModal}
91
78
  title="Close"
@@ -94,9 +81,12 @@ export const QueryBuilderDataCubeDialog = observer(
94
81
  </button>
95
82
  </div>
96
83
  </div>
97
- <div className="query-builder__dialog__content">
84
+ <div className="query-builder-data-cube__dialog__content">
98
85
  <QueryBuilderDataCube queryBuilderState={queryBuilderState} />
99
86
  </div>
87
+ <ModalFooter>
88
+ <ModalFooterButton onClick={closeModal}>Close</ModalFooterButton>
89
+ </ModalFooter>
100
90
  </Modal>
101
91
  </Dialog>
102
92
  );
@@ -44,16 +44,14 @@ import {
44
44
  import {
45
45
  type QueryBuilderFunctionsExplorerTreeNodeData,
46
46
  type QueryBuilderFunctionsExplorerDragSource,
47
- generateFunctionsExplorerTreeNodeData,
48
47
  getFunctionsExplorerTreeNodeChildren,
49
48
  QUERY_BUILDER_FUNCTION_DND_TYPE,
49
+ generateFunctionsExplorerTreeNodeDataFromFunctionAnalysisInfo,
50
50
  } from '../../stores/explorer/QueryFunctionsExplorerState.js';
51
51
  import { useDrag } from 'react-dnd';
52
52
  import {
53
- ConcreteFunctionDefinition,
54
- generateFunctionPrettyName,
53
+ type FunctionAnalysisInfo,
55
54
  getElementRootPackage,
56
- Package,
57
55
  ROOT_PACKAGE_NAME,
58
56
  getMultiplicityDescription,
59
57
  CORE_PURE_PATH,
@@ -61,20 +59,22 @@ import {
61
59
  } from '@finos/legend-graph';
62
60
  import type { QueryBuilderState } from '../../stores/QueryBuilderState.js';
63
61
  import { QueryBuilderTelemetryHelper } from '../../__lib__/QueryBuilderTelemetryHelper.js';
62
+ import { QUERY_BUILDER_TEST_ID } from '../../__lib__/QueryBuilderTesting.js';
64
63
 
65
64
  const isDependencyTreeNode = (
66
65
  node: QueryBuilderFunctionsExplorerTreeNodeData,
67
66
  ): boolean =>
68
- getElementRootPackage(node.packageableElement).name ===
69
- ROOT_PACKAGE_NAME.PROJECT_DEPENDENCY_ROOT;
67
+ node.package !== undefined &&
68
+ getElementRootPackage(node.package).name ===
69
+ ROOT_PACKAGE_NAME.PROJECT_DEPENDENCY_ROOT;
70
70
 
71
71
  const QueryBuilderFunctionInfoTooltip: React.FC<{
72
- element: ConcreteFunctionDefinition;
73
72
  children: React.ReactElement;
74
73
  placement?: TooltipPlacement | undefined;
74
+ functionInfo: FunctionAnalysisInfo;
75
75
  }> = (props) => {
76
- const { element, children, placement } = props;
77
- const documentation = element.taggedValues
76
+ const { children, placement, functionInfo } = props;
77
+ const documentation = functionInfo.taggedValues
78
78
  .filter(
79
79
  (taggedValue) =>
80
80
  taggedValue.tag.ownerReference.value.path ===
@@ -83,6 +83,23 @@ const QueryBuilderFunctionInfoTooltip: React.FC<{
83
83
  )
84
84
  .map((taggedValue) => taggedValue.value);
85
85
 
86
+ const generateParameterCallString = (): string => {
87
+ if (
88
+ functionInfo.parameterInfoList.length &&
89
+ functionInfo.parameterInfoList.length > 0
90
+ ) {
91
+ return functionInfo.parameterInfoList
92
+ .map(
93
+ (param) =>
94
+ `${param.name}: ${
95
+ param.type
96
+ }${getMultiplicityDescription(param.multiplicity)}`,
97
+ )
98
+ .join('; ');
99
+ }
100
+ return '';
101
+ };
102
+
86
103
  return (
87
104
  <Tooltip
88
105
  arrow={true}
@@ -102,7 +119,7 @@ const QueryBuilderFunctionInfoTooltip: React.FC<{
102
119
  Function Name
103
120
  </div>
104
121
  <div className="query-builder__tooltip__item__value">
105
- {element.path}
122
+ {functionInfo.functionPath}
106
123
  </div>
107
124
  </div>
108
125
  <div className="query-builder__tooltip__item">
@@ -110,14 +127,7 @@ const QueryBuilderFunctionInfoTooltip: React.FC<{
110
127
  Parameters
111
128
  </div>
112
129
  <div className="query-builder__tooltip__item__value">
113
- {element.parameters
114
- .map(
115
- (param) =>
116
- `${param.name}: ${
117
- param.type.value.name
118
- }${getMultiplicityDescription(param.multiplicity)}`,
119
- )
120
- .join('; ')}
130
+ {generateParameterCallString()}
121
131
  </div>
122
132
  </div>
123
133
  {Boolean(documentation.length) && (
@@ -135,7 +145,7 @@ const QueryBuilderFunctionInfoTooltip: React.FC<{
135
145
  Return Type
136
146
  </div>
137
147
  <div className="query-builder__tooltip__item__value">
138
- {element.returnType.value.name}
148
+ {functionInfo.returnType}
139
149
  </div>
140
150
  </div>
141
151
  </div>
@@ -147,20 +157,10 @@ const QueryBuilderFunctionInfoTooltip: React.FC<{
147
157
  };
148
158
 
149
159
  const QueryBuilderFunctionsExplorerListEntry = observer(
150
- (props: {
151
- queryBuilderState: QueryBuilderState;
152
- element: ConcreteFunctionDefinition;
153
- rootPackageName: ROOT_PACKAGE_NAME;
154
- }) => {
155
- const { queryBuilderState, element, rootPackageName } = props;
156
- const node = generateFunctionsExplorerTreeNodeData(
157
- queryBuilderState,
158
- element,
159
- rootPackageName,
160
- );
161
- const functionPrettyName = generateFunctionPrettyName(element, {
162
- fullPath: true,
163
- });
160
+ (props: { element: FunctionAnalysisInfo }) => {
161
+ const { element } = props;
162
+ const node =
163
+ generateFunctionsExplorerTreeNodeDataFromFunctionAnalysisInfo(element);
164
164
  const [, dragConnector, dragPreviewConnector] = useDrag(
165
165
  () => ({
166
166
  type: QUERY_BUILDER_FUNCTION_DND_TYPE,
@@ -183,15 +183,13 @@ const QueryBuilderFunctionsExplorerListEntry = observer(
183
183
  </div>
184
184
  <div
185
185
  className="query-builder__functions-explorer__function__label"
186
- title={functionPrettyName}
186
+ title={element.functionPrettyName}
187
187
  >
188
- {functionPrettyName}
188
+ {element.functionPrettyName}
189
189
  </div>
190
190
  </div>
191
191
  <div className="query-builder__functions-explorer__function__actions">
192
- <QueryBuilderFunctionInfoTooltip
193
- element={node.packageableElement as ConcreteFunctionDefinition}
194
- >
192
+ <QueryBuilderFunctionInfoTooltip functionInfo={element}>
195
193
  <div className="query-builder__functions-explorer__function__action query-builder__functions-explorer__function__node__info">
196
194
  <InfoCircleIcon />
197
195
  </div>
@@ -212,11 +210,11 @@ const QueryBuilderFunctionsExplorerTreeNodeContainer = observer(
212
210
  >,
213
211
  ) => {
214
212
  const { node, level, stepPaddingInRem, onNodeSelect } = props;
215
- const isPackage = node.packageableElement instanceof Package;
216
- const name =
217
- node.packageableElement instanceof ConcreteFunctionDefinition
218
- ? generateFunctionPrettyName(node.packageableElement)
219
- : node.packageableElement.name;
213
+ const name = node.functionAnalysisInfo
214
+ ? node.functionAnalysisInfo.functionPrettyName.split(
215
+ `${node.functionAnalysisInfo.packagePath}::`,
216
+ )[1]
217
+ : (node.package?.name ?? '');
220
218
  const isExpandable = Boolean(node.childrenIds.length);
221
219
  const nodeExpandIcon = isExpandable ? (
222
220
  node.isOpen ? (
@@ -231,7 +229,7 @@ const QueryBuilderFunctionsExplorerTreeNodeContainer = observer(
231
229
  const iconPackageColor = isDependencyTreeNode(node)
232
230
  ? 'color--dependency'
233
231
  : '';
234
- const nodeTypeIcon = isPackage ? (
232
+ const nodeTypeIcon = node.package ? (
235
233
  node.isOpen ? (
236
234
  <FolderOpenIcon className={iconPackageColor} />
237
235
  ) : (
@@ -248,10 +246,7 @@ const QueryBuilderFunctionsExplorerTreeNodeContainer = observer(
248
246
  }>(
249
247
  () => ({
250
248
  type: QUERY_BUILDER_FUNCTION_DND_TYPE,
251
- item: () =>
252
- node.packageableElement instanceof ConcreteFunctionDefinition
253
- ? { node }
254
- : {},
249
+ item: () => (node.functionAnalysisInfo ? { node } : {}),
255
250
  }),
256
251
  [node],
257
252
  );
@@ -289,10 +284,9 @@ const QueryBuilderFunctionsExplorerTreeNodeContainer = observer(
289
284
  {name}
290
285
  </div>
291
286
  <div className="query-builder__functions-explorer__tree__node__actions">
292
- {node.packageableElement instanceof
293
- ConcreteFunctionDefinition && (
287
+ {node.functionAnalysisInfo && (
294
288
  <QueryBuilderFunctionInfoTooltip
295
- element={node.packageableElement}
289
+ functionInfo={node.functionAnalysisInfo}
296
290
  >
297
291
  <div className="query-builder__functions-explorer__tree__node__action query-builder__functions-explorer__tree__node__info">
298
292
  <InfoCircleIcon />
@@ -331,6 +325,7 @@ const QueryBuilderPackableElementExplorerTree = observer(
331
325
  const dependencyTreeData = queryFunctionsState.getTreeData(
332
326
  ROOT_PACKAGE_NAME.PROJECT_DEPENDENCY_ROOT,
333
327
  );
328
+
334
329
  const onDependencyTreeSelect = (
335
330
  node: QueryBuilderFunctionsExplorerTreeNodeData,
336
331
  ): void => {
@@ -431,6 +426,10 @@ export const QueryBuilderFunctionsExplorerPanel = observer(
431
426
  setShowDependencyFuncions(!showDependencyFuncions);
432
427
  };
433
428
 
429
+ useEffect(() => {
430
+ queryFunctionsState.initializeTreeData();
431
+ }, [queryFunctionsState]);
432
+
434
433
  useEffect(() => {
435
434
  QueryBuilderTelemetryHelper.logEvent_RenderPanelFunctionExplorer(
436
435
  queryBuilderState.applicationStore.telemetryService,
@@ -438,7 +437,10 @@ export const QueryBuilderFunctionsExplorerPanel = observer(
438
437
  }, [queryBuilderState.applicationStore]);
439
438
 
440
439
  return (
441
- <div className="panel query-builder__functions-explorer">
440
+ <div
441
+ data-testid={QUERY_BUILDER_TEST_ID.QUERY_BUILDER_FUNCTIONS}
442
+ className="panel query-builder__functions-explorer"
443
+ >
442
444
  <div className="panel__header">
443
445
  <div className="panel__header__title">
444
446
  <div className="panel__header__title__label">functions</div>
@@ -494,16 +496,13 @@ export const QueryBuilderFunctionsExplorerPanel = observer(
494
496
  labelGetter={(
495
497
  item: QueryBuilderFunctionsExplorerDragSource,
496
498
  ): string =>
497
- generateFunctionPrettyName(
498
- item.node.packageableElement as ConcreteFunctionDefinition,
499
- { fullPath: true },
500
- )
499
+ item.node.functionAnalysisInfo?.functionPrettyName ?? ''
501
500
  }
502
501
  types={[QUERY_BUILDER_FUNCTION_DND_TYPE]}
503
502
  />
504
503
  {((showDependencyFuncions &&
505
- (!queryFunctionsState.dependencyTreeData ||
506
- queryFunctionsState.dependencyTreeData.rootIds.length === 0)) ||
504
+ queryFunctionsState.dependencyFunctionExplorerStates.length ===
505
+ 0) ||
507
506
  !showDependencyFuncions) &&
508
507
  queryFunctionsState.treeData?.rootIds.length === 0 && (
509
508
  <BlankPanelContent>
@@ -521,8 +520,8 @@ export const QueryBuilderFunctionsExplorerPanel = observer(
521
520
  />
522
521
  )}
523
522
  {showDependencyFuncions &&
524
- queryFunctionsState.dependencyTreeData &&
525
- queryFunctionsState.dependencyTreeData.rootIds.length !== 0 && (
523
+ queryFunctionsState.dependencyFunctionExplorerStates.length !==
524
+ 0 && (
526
525
  <QueryBuilderPackableElementExplorerTree
527
526
  queryBuilderState={queryBuilderState}
528
527
  rootPackageName={ROOT_PACKAGE_NAME.PROJECT_DEPENDENCY_ROOT}
@@ -538,15 +537,13 @@ export const QueryBuilderFunctionsExplorerPanel = observer(
538
537
  (funcExplorerState) => (
539
538
  <QueryBuilderFunctionsExplorerListEntry
540
539
  key={funcExplorerState.uuid}
541
- queryBuilderState={queryBuilderState}
542
- element={funcExplorerState.concreteFunctionDefinition}
543
- rootPackageName={ROOT_PACKAGE_NAME.MAIN}
540
+ element={funcExplorerState.functionAnalysisInfo}
544
541
  />
545
542
  ),
546
543
  )}
547
544
  {showDependencyFuncions &&
548
- queryFunctionsState.dependencyTreeData &&
549
- queryFunctionsState.dependencyTreeData.rootIds.length !== 0 && (
545
+ queryFunctionsState.dependencyFunctionExplorerStates.length >
546
+ 0 && (
550
547
  <>
551
548
  {queryFunctionsState.treeData?.rootIds.length !== 0 && (
552
549
  <div className="query-builder__functions-explorer__separator" />
@@ -555,11 +552,7 @@ export const QueryBuilderFunctionsExplorerPanel = observer(
555
552
  (funcExplorerState) => (
556
553
  <QueryBuilderFunctionsExplorerListEntry
557
554
  key={funcExplorerState.uuid}
558
- queryBuilderState={queryBuilderState}
559
- element={funcExplorerState.concreteFunctionDefinition}
560
- rootPackageName={
561
- ROOT_PACKAGE_NAME.PROJECT_DEPENDENCY_ROOT
562
- }
555
+ element={funcExplorerState.functionAnalysisInfo}
563
556
  />
564
557
  ),
565
558
  )}
@@ -71,8 +71,7 @@ import { QUERY_BUILDER_TEST_ID } from '../../__lib__/QueryBuilderTesting.js';
71
71
  import { flowResult } from 'mobx';
72
72
  import { useApplicationStore } from '@finos/legend-application';
73
73
  import {
74
- type ConcreteFunctionDefinition,
75
- generateFunctionCallString,
74
+ type ValueSpecification,
76
75
  LAMBDA_PIPE,
77
76
  VARIABLE_REFERENCE_TOKEN,
78
77
  AbstractPropertyExpression,
@@ -81,12 +80,12 @@ import {
81
80
  PropertyExplicitReference,
82
81
  VariableExpression,
83
82
  Multiplicity,
84
- type ValueSpecification,
85
83
  PrimitiveType,
86
84
  GenericType,
87
85
  GenericTypeExplicitReference,
88
86
  observe_PrimitiveInstanceValue,
89
87
  PrimitiveInstanceValue,
88
+ generateFunctionCallStringFromFunctionAnalysisInfo,
90
89
  } from '@finos/legend-graph';
91
90
  import {
92
91
  type QueryBuilderFunctionsExplorerDragSource,
@@ -239,13 +238,20 @@ const QueryBuilderDerivationProjectionColumnEditor = observer(
239
238
  }`,
240
239
  );
241
240
  } else if (type === QUERY_BUILDER_FUNCTION_DND_TYPE) {
241
+ const functionAnalysisInfo = (
242
+ item as QueryBuilderFunctionsExplorerDragSource
243
+ ).node.functionAnalysisInfo;
244
+ const functionPrettyName = functionAnalysisInfo
245
+ ? generateFunctionCallStringFromFunctionAnalysisInfo(
246
+ projectionColumnState.tdsState.queryBuilderState
247
+ .graphManagerState.graph,
248
+ functionAnalysisInfo,
249
+ )
250
+ : '';
242
251
  projectionColumnState.derivationLambdaEditorState.setLambdaString(
243
252
  `${
244
253
  projectionColumnState.derivationLambdaEditorState.lambdaString
245
- }${`${generateFunctionCallString(
246
- (item as QueryBuilderFunctionsExplorerDragSource).node
247
- .packageableElement as ConcreteFunctionDefinition,
248
- )}`}`,
254
+ }${functionPrettyName}`,
249
255
  );
250
256
  } else {
251
257
  projectionColumnState.derivationLambdaEditorState.setLambdaString(
@@ -1262,11 +1268,17 @@ export const QueryBuilderTDSPanel = observer(
1262
1268
  { addDummyParameter: true },
1263
1269
  ),
1264
1270
  );
1271
+ const functionAnalysisInfo = (
1272
+ item as QueryBuilderFunctionsExplorerDragSource
1273
+ ).node.functionAnalysisInfo;
1274
+ const functionPrettyName = functionAnalysisInfo
1275
+ ? generateFunctionCallStringFromFunctionAnalysisInfo(
1276
+ tdsState.queryBuilderState.graphManagerState.graph,
1277
+ functionAnalysisInfo,
1278
+ )
1279
+ : '';
1265
1280
  derivationProjectionColumn.derivationLambdaEditorState.setLambdaString(
1266
- `${DEFAULT_LAMBDA_VARIABLE_NAME}${LAMBDA_PIPE}${generateFunctionCallString(
1267
- (item as QueryBuilderFunctionsExplorerDragSource).node
1268
- .packageableElement as ConcreteFunctionDefinition,
1269
- )}`,
1281
+ `${DEFAULT_LAMBDA_VARIABLE_NAME}${LAMBDA_PIPE}${functionPrettyName} `,
1270
1282
  );
1271
1283
  tdsState.addColumn(derivationProjectionColumn);
1272
1284
  break;
@@ -1110,7 +1110,7 @@ const QueryBuilderFilterConditionEditor = observer(
1110
1110
  className="query-builder-filter-tree__condition-node__operator__dropdown__option"
1111
1111
  onClick={changeOperator(op)}
1112
1112
  >
1113
- {op.getLabel(node.condition)}
1113
+ {op.getLabel()}
1114
1114
  </MenuContentItem>
1115
1115
  ))}
1116
1116
  </MenuContent>
@@ -1122,7 +1122,7 @@ const QueryBuilderFilterConditionEditor = observer(
1122
1122
  }}
1123
1123
  >
1124
1124
  <div className="query-builder-filter-tree__condition-node__operator__label">
1125
- {node.condition.operator.getLabel(node.condition)}
1125
+ {node.condition.operator.getLabel()}
1126
1126
  </div>
1127
1127
  <div className="query-builder-filter-tree__condition-node__operator__dropdown__trigger">
1128
1128
  <CaretDownIcon />
@@ -20,6 +20,7 @@ import { PRIMITIVE_TYPE, type TDSExecutionResult } from '@finos/legend-graph';
20
20
  import { useState, useCallback, useEffect } from 'react';
21
21
  import {
22
22
  DataGrid,
23
+ type DataGridCellSelectionChangedEvent,
23
24
  type DataGridApi,
24
25
  type DataGridCellRange,
25
26
  type DataGridColumnDefinition,
@@ -347,7 +348,7 @@ export const QueryBuilderTDSGridResult = observer(
347
348
  resultState.mousedOverCell,
348
349
  true,
349
350
  fetchStructureImplementation,
350
- );
351
+ ).catch(queryBuilderState.applicationStore.alertUnhandledError);
351
352
  },
352
353
  },
353
354
  {
@@ -358,7 +359,7 @@ export const QueryBuilderTDSGridResult = observer(
358
359
  resultState.mousedOverCell,
359
360
  false,
360
361
  fetchStructureImplementation,
361
- );
362
+ ).catch(queryBuilderState.applicationStore.alertUnhandledError);
362
363
  },
363
364
  },
364
365
  'copy',
@@ -377,6 +378,7 @@ export const QueryBuilderTDSGridResult = observer(
377
378
  applicationStore,
378
379
  resultState.mousedOverCell,
379
380
  resultState.queryBuilderState.fetchStructureState.implementation,
381
+ queryBuilderState.applicationStore.alertUnhandledError,
380
382
  ],
381
383
  );
382
384
 
@@ -554,7 +556,9 @@ export const QueryBuilderTDSGridResult = observer(
554
556
  onRowDataUpdated={(params) => {
555
557
  params.api.refreshCells({ force: true });
556
558
  }}
557
- onRangeSelectionChanged={(event) => {
559
+ onCellSelectionChanged={(
560
+ event: DataGridCellSelectionChangedEvent<QueryBuilderTDSRowDataType>,
561
+ ) => {
558
562
  const selectedCells = getSelectedCells(event.api);
559
563
  resultState.setSelectedCells([]);
560
564
  selectedCells.forEach((cell) =>