@gooddata/sdk-ui-dashboard 10.2.0-alpha.32 → 10.2.0-alpha.33

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.
@@ -1,2 +1,2 @@
1
- export declare const LIB_VERSION = "10.2.0-alpha.32";
1
+ export declare const LIB_VERSION = "10.2.0-alpha.33";
2
2
  //# sourceMappingURL=__version.d.ts.map
package/esm/__version.js CHANGED
@@ -1,4 +1,4 @@
1
1
  // (C) 2021 GoodData Corporation
2
2
  // DO NOT CHANGE THIS FILE, IT IS RE-GENERATED ON EVERY BUILD
3
- export const LIB_VERSION = "10.2.0-alpha.32";
3
+ export const LIB_VERSION = "10.2.0-alpha.33";
4
4
  //# sourceMappingURL=__version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useDrillDialogInsightDrills.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/widget/insight/ViewModeDashboardInsight/InsightDrillDialog/useDrillDialogInsightDrills.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAGH,WAAW,EACX,SAAS,EAEZ,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC/D;;GAEG;AACH,MAAM,WAAW,8BAA8B;IAC3C,MAAM,EAAE,cAAc,CAAC;IACvB,OAAO,EAAE,QAAQ,CAAC;IAClB,OAAO,CAAC,EAAE,aAAa,CAAC;CAC3B;AAED;;GAEG;AACH,eAAO,MAAM,2BAA2B,6CAIrC,8BAA8B;;uBAIlB,SAAS,KAAG,IAAI;sBAeb,WAAW;CA6B5B,CAAC"}
1
+ {"version":3,"file":"useDrillDialogInsightDrills.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/widget/insight/ViewModeDashboardInsight/InsightDrillDialog/useDrillDialogInsightDrills.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAGH,WAAW,EACX,SAAS,EAEZ,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC/D;;GAEG;AACH,MAAM,WAAW,8BAA8B;IAC3C,MAAM,EAAE,cAAc,CAAC;IACvB,OAAO,EAAE,QAAQ,CAAC;IAClB,OAAO,CAAC,EAAE,aAAa,CAAC;CAC3B;AAED;;GAEG;AACH,eAAO,MAAM,2BAA2B,6CAIrC,8BAA8B;;uBAOlB,SAAS,KAAG,IAAI;sBAqBb,WAAW;CA6B5B,CAAC"}
@@ -1,7 +1,7 @@
1
- // (C) 2020-2022 GoodData Corporation
1
+ // (C) 2020-2024 GoodData Corporation
2
2
  import { useCallback, useState } from "react";
3
3
  import isEqual from "lodash/isEqual.js";
4
- import { useDashboardSelector, selectImplicitDrillsByAvailableDrillTargets, selectDrillableItemsByAvailableDrillTargets, } from "../../../../../model/index.js";
4
+ import { useDashboardSelector, selectImplicitDrillsByAvailableDrillTargets, selectDrillableItemsByAvailableDrillTargets, selectEnableKPIDashboardDrillFromAttribute, } from "../../../../../model/index.js";
5
5
  import { DataViewFacade, isSomeHeaderPredicateMatched, } from "@gooddata/sdk-ui";
6
6
  /**
7
7
  * @internal
@@ -9,11 +9,14 @@ import { DataViewFacade, isSomeHeaderPredicateMatched, } from "@gooddata/sdk-ui"
9
9
  export const useDrillDialogInsightDrills = ({ widget, insight, onDrill: onDrillFn, }) => {
10
10
  // Drilling
11
11
  const [drillTargets, setDrillTargets] = useState();
12
+ const isDrillFromAttributeEnabled = useDashboardSelector(selectEnableKPIDashboardDrillFromAttribute);
13
+ const disableDrillDownOnInsight = insight.insight.properties.controls?.disableDrillDown;
12
14
  const onPushData = useCallback((data) => {
13
- if (data?.availableDrillTargets && !isEqual(drillTargets, data.availableDrillTargets)) {
14
- setDrillTargets(data.availableDrillTargets);
15
+ const targets = sanitizeAvailableDrillTargets(data?.availableDrillTargets, isDrillFromAttributeEnabled, !disableDrillDownOnInsight);
16
+ if (targets && !isEqual(drillTargets, data.availableDrillTargets)) {
17
+ setDrillTargets(targets);
15
18
  }
16
- }, [drillTargets]);
19
+ }, [disableDrillDownOnInsight, drillTargets, isDrillFromAttributeEnabled]);
17
20
  const implicitDrillDefinitions = useDashboardSelector(selectImplicitDrillsByAvailableDrillTargets(drillTargets, widget.ignoredDrillDownHierarchies));
18
21
  const drillableItems = useDashboardSelector(selectDrillableItemsByAvailableDrillTargets(drillTargets, widget.ignoredDrillDownHierarchies));
19
22
  const onDrill = onDrillFn
@@ -40,4 +43,15 @@ export const useDrillDialogInsightDrills = ({ widget, insight, onDrill: onDrillF
40
43
  onDrill,
41
44
  };
42
45
  };
46
+ const sanitizeAvailableDrillTargets = (availableDrillTargets, isDrillFromAttributeEnabled, isDrillDownOnInsightEnabled) => {
47
+ // if no drill targets went in (likely the pushData was fired in a non-drill-related case)
48
+ // pass the undefined through, this avoids useless setting of the drill targets down the line
49
+ if (!availableDrillTargets) {
50
+ return availableDrillTargets;
51
+ }
52
+ // Both drill from attribute FF and drilldown enablement on insight level must be enabled
53
+ return isDrillFromAttributeEnabled && isDrillDownOnInsightEnabled
54
+ ? availableDrillTargets
55
+ : { ...availableDrillTargets, attributes: undefined };
56
+ };
43
57
  //# sourceMappingURL=useDrillDialogInsightDrills.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useDrillDialogInsightDrills.js","sourceRoot":"","sources":["../../../../../../src/presentation/widget/insight/ViewModeDashboardInsight/InsightDrillDialog/useDrillDialogInsightDrills.ts"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC9C,OAAO,OAAO,MAAM,mBAAmB,CAAC;AACxC,OAAO,EACH,oBAAoB,EACpB,2CAA2C,EAC3C,2CAA2C,GAC9C,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EACH,cAAc,EAId,4BAA4B,GAC/B,MAAM,kBAAkB,CAAC;AAY1B;;GAEG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,EACxC,MAAM,EACN,OAAO,EACP,OAAO,EAAE,SAAS,GACW,EAAE,EAAE;IACjC,WAAW;IACX,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,EAA0B,CAAC;IAC3E,MAAM,UAAU,GAAG,WAAW,CAC1B,CAAC,IAAe,EAAQ,EAAE;QACtB,IAAI,IAAI,EAAE,qBAAqB,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,qBAAqB,CAAC,EAAE,CAAC;YACpF,eAAe,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QAChD,CAAC;IACL,CAAC,EACD,CAAC,YAAY,CAAC,CACjB,CAAC;IAEF,MAAM,wBAAwB,GAAG,oBAAoB,CACjD,2CAA2C,CAAC,YAAY,EAAE,MAAM,CAAC,2BAA2B,CAAC,CAChG,CAAC;IACF,MAAM,cAAc,GAAG,oBAAoB,CACvC,2CAA2C,CAAC,YAAY,EAAE,MAAM,CAAC,2BAA2B,CAAC,CAChG,CAAC;IACF,MAAM,OAAO,GAAG,SAAS;QACrB,CAAC,CAAC,CAAC,KAAkB,EAAE,EAAE;YACnB,MAAM,MAAM,GAAG,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAElD,MAAM,gCAAgC,GAAG,wBAAwB,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;gBAC9E,OAAO,KAAK,CAAC,YAAY,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC,YAAY,EAAE,EAAE,CAC1D,4BAA4B,CAAC,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAC7E,CAAC;YACN,CAAC,CAAC,CAAC;YAEH,MAAM,UAAU,GAAyB;gBACrC,GAAG,KAAK;gBACR,SAAS,EAAE,MAAM,CAAC,GAAG;gBACrB,gBAAgB,EAAE,gCAAgC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC;aACzF,CAAC;YACF,OAAO,CACH,OAAO,SAAS,KAAK,UAAU;gBAC/B,SAAS,CAAC,UAAU,EAAE;oBAClB,OAAO;oBACP,MAAM;iBACT,CAAC,CACL,CAAC;QACN,CAAC;QACH,CAAC,CAAC,SAAS,CAAC;IAEhB,OAAO;QACH,cAAc;QACd,UAAU;QACV,OAAO;KACV,CAAC;AACN,CAAC,CAAC"}
1
+ {"version":3,"file":"useDrillDialogInsightDrills.js","sourceRoot":"","sources":["../../../../../../src/presentation/widget/insight/ViewModeDashboardInsight/InsightDrillDialog/useDrillDialogInsightDrills.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gooddata/sdk-ui-dashboard",
3
- "version": "10.2.0-alpha.32",
3
+ "version": "10.2.0-alpha.33",
4
4
  "description": "GoodData SDK - Dashboard Component",
5
5
  "repository": {
6
6
  "type": "git",
@@ -56,17 +56,17 @@
56
56
  "ts-invariant": "^0.7.5",
57
57
  "tslib": "^2.5.0",
58
58
  "uuid": "^8.3.2",
59
- "@gooddata/sdk-backend-spi": "10.2.0-alpha.32",
60
- "@gooddata/sdk-backend-base": "10.2.0-alpha.32",
61
- "@gooddata/sdk-model": "10.2.0-alpha.32",
62
- "@gooddata/sdk-ui": "10.2.0-alpha.32",
63
- "@gooddata/sdk-ui-ext": "10.2.0-alpha.32",
64
- "@gooddata/sdk-ui-filters": "10.2.0-alpha.32",
65
- "@gooddata/sdk-ui-geo": "10.2.0-alpha.32",
66
- "@gooddata/sdk-ui-theme-provider": "10.2.0-alpha.32",
67
- "@gooddata/sdk-ui-vis-commons": "10.2.0-alpha.32",
68
- "@gooddata/util": "10.2.0-alpha.32",
69
- "@gooddata/sdk-ui-kit": "10.2.0-alpha.32"
59
+ "@gooddata/sdk-backend-base": "10.2.0-alpha.33",
60
+ "@gooddata/sdk-backend-spi": "10.2.0-alpha.33",
61
+ "@gooddata/sdk-model": "10.2.0-alpha.33",
62
+ "@gooddata/sdk-ui": "10.2.0-alpha.33",
63
+ "@gooddata/sdk-ui-filters": "10.2.0-alpha.33",
64
+ "@gooddata/sdk-ui-ext": "10.2.0-alpha.33",
65
+ "@gooddata/sdk-ui-geo": "10.2.0-alpha.33",
66
+ "@gooddata/sdk-ui-kit": "10.2.0-alpha.33",
67
+ "@gooddata/sdk-ui-theme-provider": "10.2.0-alpha.33",
68
+ "@gooddata/sdk-ui-vis-commons": "10.2.0-alpha.33",
69
+ "@gooddata/util": "10.2.0-alpha.33"
70
70
  },
71
71
  "peerDependencies": {
72
72
  "react": "^16.10.0 || ^17.0.0 || ^18.0.0",
@@ -119,9 +119,9 @@
119
119
  "typescript": "5.3.3",
120
120
  "vitest": "1.0.4",
121
121
  "vitest-dom": "0.1.1",
122
- "@gooddata/i18n-toolkit": "10.2.0-alpha.32",
123
- "@gooddata/reference-workspace": "10.2.0-alpha.32",
124
- "@gooddata/sdk-backend-mockingbird": "10.2.0-alpha.32"
122
+ "@gooddata/i18n-toolkit": "10.2.0-alpha.33",
123
+ "@gooddata/reference-workspace": "10.2.0-alpha.33",
124
+ "@gooddata/sdk-backend-mockingbird": "10.2.0-alpha.33"
125
125
  },
126
126
  "scripts": {
127
127
  "clean": "rm -rf ci dist esm coverage *.log styles/css tsconfig.tsbuildinfo",