@finos/legend-query-builder 4.13.3 → 4.13.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (29) hide show
  1. package/lib/components/data-access/DataAccessOverview.d.ts.map +1 -1
  2. package/lib/components/data-access/DataAccessOverview.js +15 -1
  3. package/lib/components/data-access/DataAccessOverview.js.map +1 -1
  4. package/lib/components/explorer/QueryBuilderExplorerPanel.d.ts.map +1 -1
  5. package/lib/components/explorer/QueryBuilderExplorerPanel.js +2 -1
  6. package/lib/components/explorer/QueryBuilderExplorerPanel.js.map +1 -1
  7. package/lib/components/shared/QueryBuilderRootClassInfoTooltip.d.ts +24 -0
  8. package/lib/components/shared/QueryBuilderRootClassInfoTooltip.d.ts.map +1 -0
  9. package/lib/components/shared/QueryBuilderRootClassInfoTooltip.js +37 -0
  10. package/lib/components/shared/QueryBuilderRootClassInfoTooltip.js.map +1 -0
  11. package/lib/index.css +2 -2
  12. package/lib/index.css.map +1 -1
  13. package/lib/package.json +1 -1
  14. package/lib/stores/QueryBuilderResultState.d.ts.map +1 -1
  15. package/lib/stores/QueryBuilderResultState.js +1 -0
  16. package/lib/stores/QueryBuilderResultState.js.map +1 -1
  17. package/lib/stores/QueryBuilder_LegendApplicationPlugin_Extension.d.ts +7 -0
  18. package/lib/stores/QueryBuilder_LegendApplicationPlugin_Extension.d.ts.map +1 -1
  19. package/lib/stores/filter/QueryBuilderFilterState.d.ts.map +1 -1
  20. package/lib/stores/filter/QueryBuilderFilterState.js +13 -2
  21. package/lib/stores/filter/QueryBuilderFilterState.js.map +1 -1
  22. package/package.json +8 -8
  23. package/src/components/data-access/DataAccessOverview.tsx +35 -2
  24. package/src/components/explorer/QueryBuilderExplorerPanel.tsx +11 -1
  25. package/src/components/shared/QueryBuilderRootClassInfoTooltip.tsx +79 -0
  26. package/src/stores/QueryBuilderResultState.ts +1 -0
  27. package/src/stores/QueryBuilder_LegendApplicationPlugin_Extension.ts +9 -0
  28. package/src/stores/filter/QueryBuilderFilterState.ts +21 -1
  29. package/tsconfig.json +1 -0
@@ -45,6 +45,10 @@ export type QueryExportUsageConfiguration = {
45
45
  renderer(): React.ReactNode;
46
46
  };
47
47
 
48
+ export type WarehouseEntitlementRender = {
49
+ renderer: (dataAccessState: DataAccessState) => React.ReactNode;
50
+ };
51
+
48
52
  export type QueryChatRenderer = (
49
53
  queryBuilderState: QueryBuilderState,
50
54
  ) => React.ReactNode;
@@ -56,6 +60,11 @@ export interface QueryBuilder_LegendApplicationPlugin_Extension
56
60
  */
57
61
  getExtraLoadQueryFilterOptions?(): LoadQueryFilterOption[];
58
62
 
63
+ /**
64
+ * Get the list of warehouse entitlement configurations
65
+ */
66
+ getWarehouseEntitlementRenders?(): WarehouseEntitlementRender[];
67
+
59
68
  /**
60
69
  * Get the list of dataset entitlement access report action configurations.
61
70
  */
@@ -42,6 +42,8 @@ import {
42
42
  type ValueSpecification,
43
43
  type VariableExpression,
44
44
  observe_ValueSpecification,
45
+ CollectionInstanceValue,
46
+ InstanceValue,
45
47
  } from '@finos/legend-graph';
46
48
  import { DEFAULT_LAMBDA_VARIABLE_NAME } from '../QueryBuilderConfig.js';
47
49
  import type { QueryBuilderProjectionColumnDragSource } from '../fetch-structure/tds/projection/QueryBuilderProjectionColumnState.js';
@@ -54,6 +56,7 @@ import type { QueryBuilderFilterOperator } from './QueryBuilderFilterOperator.js
54
56
  import { QUERY_BUILDER_GROUP_OPERATION } from '../QueryBuilderGroupOperationHelper.js';
55
57
  import { QUERY_BUILDER_STATE_HASH_STRUCTURE } from '../QueryBuilderStateHashUtils.js';
56
58
  import { isValueExpressionReferencedInValue } from '../QueryBuilderValueSpecificationHelper.js';
59
+ import { instanceValue_setValues } from '../shared/ValueSpecificationModifierHelper.js';
57
60
 
58
61
  export enum QUERY_BUILDER_FILTER_DND_TYPE {
59
62
  GROUP_CONDITION = 'GROUP_CONDITION',
@@ -195,7 +198,24 @@ export class FilterConditionState implements Hashable {
195
198
  changeOperator(val: QueryBuilderFilterOperator): void {
196
199
  this.setOperator(val);
197
200
  if (!this.operator.isCompatibleWithFilterConditionValue(this)) {
198
- this.setValue(this.operator.getDefaultFilterConditionValue(this));
201
+ let defaultValue = this.operator.getDefaultFilterConditionValue(this);
202
+ if (
203
+ defaultValue instanceof CollectionInstanceValue &&
204
+ this.value instanceof InstanceValue
205
+ ) {
206
+ instanceValue_setValues(
207
+ defaultValue,
208
+ [this.value],
209
+ this.filterState.queryBuilderState.observerContext,
210
+ );
211
+ } else if (
212
+ defaultValue instanceof InstanceValue &&
213
+ this.value instanceof CollectionInstanceValue &&
214
+ this.value.values.length
215
+ ) {
216
+ defaultValue = this.value.values[0];
217
+ }
218
+ this.setValue(defaultValue);
199
219
  }
200
220
  }
201
221
 
package/tsconfig.json CHANGED
@@ -266,6 +266,7 @@
266
266
  "./src/components/shared/LambdaParameterValuesEditor.tsx",
267
267
  "./src/components/shared/QueryBuilderPanelIssueCountBadge.tsx",
268
268
  "./src/components/shared/QueryBuilderPropertyInfoTooltip.tsx",
269
+ "./src/components/shared/QueryBuilderRootClassInfoTooltip.tsx",
269
270
  "./src/components/shared/QueryBuilderVariableSelector.tsx",
270
271
  "./src/components/watermark/QueryBuilderWatermark.tsx",
271
272
  "./src/components/workflows/ClassQueryBuilder.tsx",