@gooddata/sdk-ui-dashboard 11.59.0-alpha.2 → 11.60.0-alpha.0
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.
- package/NOTICE +4 -4
- package/esm/__version.d.ts +1 -1
- package/esm/__version.js +1 -1
- package/esm/kdaDialog/composition/KdaAttributesDropdown.js +1 -1
- package/esm/kdaDialog/composition/hooks/useKdaAttributesSelection.d.ts +4 -0
- package/esm/kdaDialog/composition/hooks/useKdaAttributesSelection.d.ts.map +1 -1
- package/esm/kdaDialog/composition/hooks/useKdaAttributesSelection.js +6 -1
- package/esm/kdaDialog/composition/hooks/useKdaValidAttributes.d.ts.map +1 -1
- package/esm/kdaDialog/composition/hooks/useKdaValidAttributes.js +2 -1
- package/esm/kdaDialog/hooks/useAttribute.d.ts.map +1 -1
- package/esm/kdaDialog/hooks/useAttribute.js +4 -3
- package/esm/kdaDialog/hooks/useSummaryDrivers.js +3 -3
- package/package.json +21 -21
package/NOTICE
CHANGED
|
@@ -7,9 +7,9 @@
|
|
|
7
7
|
|
|
8
8
|
The following 3rd-party software packages may be used by or distributed with gooddata-ui-sdk. Any information relevant to third-party vendors listed below are collected using common, reasonable means.
|
|
9
9
|
|
|
10
|
-
Date generated: 2026-9-
|
|
10
|
+
Date generated: 2026-9-25
|
|
11
11
|
|
|
12
|
-
Revision ID:
|
|
12
|
+
Revision ID: 7aafbc41b1e160f8395e93ba8e2641b345382639
|
|
13
13
|
|
|
14
14
|
================================================================================
|
|
15
15
|
================================================================================
|
|
@@ -24657,7 +24657,7 @@ MIT
|
|
|
24657
24657
|
|
|
24658
24658
|
Authors: se.mo.moosavi@gmail.com
|
|
24659
24659
|
Package Manager: NPM
|
|
24660
|
-
Project URL: https://
|
|
24660
|
+
Project URL: https://github.com/date-fns-jalali/date-fns-jalali#readme
|
|
24661
24661
|
Package Download URL: https://registry.npmjs.org/date-fns-jalali/-/date-fns-jalali-4.1.0-0.tgz
|
|
24662
24662
|
Dependency Path: react-day-picker > date-fns-jalali
|
|
24663
24663
|
File Path(s): common/config/subspaces/sdk/pnpm-lock.yaml
|
|
@@ -64914,4 +64914,4 @@ File Path(s): common/config/subspaces/sdk/pnpm-lock.yaml
|
|
|
64914
64914
|
--------------------------------------------------------------------------------
|
|
64915
64915
|
--------------------------------------------------------------------------------
|
|
64916
64916
|
|
|
64917
|
-
Report Generated by FOSSA on 2026-9-
|
|
64917
|
+
Report Generated by FOSSA on 2026-9-25
|
package/esm/__version.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export declare const LIB_VERSION = "11.
|
|
1
|
+
export declare const LIB_VERSION = "11.60.0-alpha.0";
|
|
2
2
|
export declare const LIB_DESCRIPTION = "GoodData SDK - Dashboard Component";
|
|
3
3
|
export declare const LIB_NAME = "@gooddata/sdk-ui-dashboard";
|
|
4
4
|
//# sourceMappingURL=__version.d.ts.map
|
package/esm/__version.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
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 = "11.
|
|
3
|
+
export const LIB_VERSION = "11.60.0-alpha.0";
|
|
4
4
|
export const LIB_DESCRIPTION = "GoodData SDK - Dashboard Component";
|
|
5
5
|
export const LIB_NAME = "@gooddata/sdk-ui-dashboard";
|
|
@@ -33,7 +33,7 @@ export function KdaAttributesDropdown({ buttonLabel, attributesCount, validAttri
|
|
|
33
33
|
closeDropdown();
|
|
34
34
|
};
|
|
35
35
|
return (_jsxs("div", { ...ariaAttributes, "aria-labelledby": undefined, "aria-label": popupLabel, className: "gd-kda-attributes-dropdown__body", children: [_jsx("div", { className: "gd-kda-attributes-dropdown__header", children: popupLabel }), _jsx(InvertableSelectVirtualised, { className: "gd-kda-attributes-select", adaptiveWidth: true, items: filteredOptions, totalItemsCount: filteredOptions.length, itemHeight: ITEM_HEIGHT, getItemKey: getAttributeKey, getItemTitle: getAttributeTitle, isItemQuestionMarkEnabled: () => false, isInverted: isInverted, selectedItems: selection, canSubmitOnKeyDown: !isApplyDisabled, onApplyButtonClick: handleApply, onSelect: onSelect, searchString: searchString, onSearch: setSearchString, renderItem: (itemProps) => {
|
|
36
|
-
const group = mapAttributes.get(itemProps.item
|
|
36
|
+
const group = mapAttributes.get(getAttributeKey(itemProps.item));
|
|
37
37
|
const driverCount = group?.significantDrivers.length ?? 0;
|
|
38
38
|
const count = driverCount > 0 ? `(${driverCount})` : "-";
|
|
39
39
|
const countAriaLabel = driverCount > 0
|
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
import { type ICatalogAttribute } from "@gooddata/sdk-model";
|
|
2
|
+
/**
|
|
3
|
+
* Keys the item by its typed ref, so that a label and a computed attribute with the same id are two rows.
|
|
4
|
+
* objRefToString would drop the `type` and collapse the two into one.
|
|
5
|
+
*/
|
|
2
6
|
export declare const getAttributeKey: (item: ICatalogAttribute) => string;
|
|
3
7
|
export declare const getAttributeTitle: (item: ICatalogAttribute) => string;
|
|
4
8
|
export declare function useKdaAttributesSelection(validAttributes: ICatalogAttribute[], initialAttributes: ICatalogAttribute[]): {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useKdaAttributesSelection.d.ts","sourceRoot":"","sources":["../../../../src/kdaDialog/composition/hooks/useKdaAttributesSelection.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,iBAAiB,
|
|
1
|
+
{"version":3,"file":"useKdaAttributesSelection.d.ts","sourceRoot":"","sources":["../../../../src/kdaDialog/composition/hooks/useKdaAttributesSelection.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,iBAAiB,EAAmB,MAAM,qBAAqB,CAAC;AAE9E;;;GAGG;AACH,eAAO,MAAM,eAAe,SAAU,iBAAiB,WAAwC,CAAC;AAChG,eAAO,MAAM,iBAAiB,SAAU,iBAAiB,WAAyB,CAAC;AAEnF,wBAAgB,yBAAyB,CACrC,eAAe,EAAE,iBAAiB,EAAE,EACpC,iBAAiB,EAAE,iBAAiB,EAAE;;;;;;;;8BAuCO,iBAAiB,EAAE,YAAY,OAAO;;EAgBtF"}
|
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
// (C) 2025-2026 GoodData Corporation
|
|
2
2
|
import { useCallback, useMemo, useState } from "react";
|
|
3
|
-
|
|
3
|
+
import { serializeObjRef } from "@gooddata/sdk-model";
|
|
4
|
+
/**
|
|
5
|
+
* Keys the item by its typed ref, so that a label and a computed attribute with the same id are two rows.
|
|
6
|
+
* objRefToString would drop the `type` and collapse the two into one.
|
|
7
|
+
*/
|
|
8
|
+
export const getAttributeKey = (item) => serializeObjRef(item.attribute.ref);
|
|
4
9
|
export const getAttributeTitle = (item) => item.attribute.title;
|
|
5
10
|
export function useKdaAttributesSelection(validAttributes, initialAttributes) {
|
|
6
11
|
const [searchString, setSearchString] = useState("");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useKdaValidAttributes.d.ts","sourceRoot":"","sources":["../../../../src/kdaDialog/composition/hooks/useKdaValidAttributes.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,iBAAiB,EAAmB,MAAM,qBAAqB,CAAC;AAK9E,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"useKdaValidAttributes.d.ts","sourceRoot":"","sources":["../../../../src/kdaDialog/composition/hooks/useKdaValidAttributes.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,iBAAiB,EAAmB,MAAM,qBAAqB,CAAC;AAK9E,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAO5D,wBAAgB,qBAAqB;;;;;EA4CpC"}
|
|
@@ -5,6 +5,7 @@ import { useDashboardSelector } from "../../../model/react/DashboardStoreProvide
|
|
|
5
5
|
import { selectCatalogAttributesWithComputed } from "../../../model/store/catalog/catalogSelectors.js";
|
|
6
6
|
import { useSummaryDrivers } from "../../hooks/useSummaryDrivers.js";
|
|
7
7
|
import { useKdaState } from "../../providers/KdaState.js";
|
|
8
|
+
import { getAttributeKey } from "./useKdaAttributesSelection.js";
|
|
8
9
|
const SEARCH_BAR_THRESHOLD = 7;
|
|
9
10
|
export function useKdaValidAttributes() {
|
|
10
11
|
const { state } = useKdaState();
|
|
@@ -18,7 +19,7 @@ export function useKdaValidAttributes() {
|
|
|
18
19
|
})
|
|
19
20
|
.map((a) => {
|
|
20
21
|
const group = list.find((item) => a.displayForms.some((df) => areObjRefsEqual(df.ref, item.displayForm)));
|
|
21
|
-
mapAttributes.set(a
|
|
22
|
+
mapAttributes.set(getAttributeKey(a), group);
|
|
22
23
|
return [a, group];
|
|
23
24
|
})
|
|
24
25
|
.sort(([, a], [, b]) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAttribute.d.ts","sourceRoot":"","sources":["../../../src/kdaDialog/hooks/useAttribute.ts"],"names":[],"mappings":"AAIA,OAAO,EACH,KAAK,MAAM,EAGd,MAAM,qBAAqB,CAAC;AAQ7B,wBAAgB,YAAY,WAKb,MAAM,
|
|
1
|
+
{"version":3,"file":"useAttribute.d.ts","sourceRoot":"","sources":["../../../src/kdaDialog/hooks/useAttribute.ts"],"names":[],"mappings":"AAIA,OAAO,EACH,KAAK,MAAM,EAGd,MAAM,qBAAqB,CAAC;AAQ7B,wBAAgB,YAAY,WAKb,MAAM,4DAoBpB"}
|
|
@@ -12,9 +12,10 @@ export function useAttribute() {
|
|
|
12
12
|
}
|
|
13
13
|
const matches = (a) => areObjRefsEqual(ref, a.attribute.ref) ||
|
|
14
14
|
a.attribute.displayForms.some((df) => areObjRefsEqual(df.ref, ref));
|
|
15
|
-
//
|
|
16
|
-
//
|
|
17
|
-
//
|
|
15
|
+
// A key driver ref carries its type (`displayForm` or `computedAttribute`), so a label and a
|
|
16
|
+
// computed attribute with the same id resolve to different catalog items. A backend without
|
|
17
|
+
// `attributeRef` sends the ref untyped; then only the id compares, and matching plain
|
|
18
|
+
// attributes first keeps that resolution deterministic.
|
|
18
19
|
return (attributes.find(matches) ??
|
|
19
20
|
computedAttributes.map(catalogComputedAttributeAsCatalogAttribute).find(matches) ??
|
|
20
21
|
null);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// (C) 2025-2026 GoodData Corporation
|
|
2
2
|
import { useMemo } from "react";
|
|
3
|
-
import {
|
|
3
|
+
import { serializeObjRef } from "@gooddata/sdk-model";
|
|
4
4
|
import { useKdaState } from "../providers/KdaState.js";
|
|
5
5
|
import { useAttribute } from "./useAttribute.js";
|
|
6
6
|
export function useSummaryDrivers() {
|
|
@@ -9,7 +9,7 @@ export function useSummaryDrivers() {
|
|
|
9
9
|
return useMemo(() => {
|
|
10
10
|
//Groups
|
|
11
11
|
const groups = state.items.reduce((prev, { data }) => {
|
|
12
|
-
const ref =
|
|
12
|
+
const ref = serializeObjRef(data.attribute);
|
|
13
13
|
if (!prev[ref]) {
|
|
14
14
|
prev[ref] = createKdaGroup(ref, data.attribute, data.displayForm, data.title, data.description);
|
|
15
15
|
}
|
|
@@ -21,7 +21,7 @@ export function useSummaryDrivers() {
|
|
|
21
21
|
}, {});
|
|
22
22
|
//Selected fill empty groups
|
|
23
23
|
state.selectedAttributes.reduce((prev, current) => {
|
|
24
|
-
const ref =
|
|
24
|
+
const ref = serializeObjRef(current);
|
|
25
25
|
if (!prev[ref]) {
|
|
26
26
|
const attribute = attributeFinder(current);
|
|
27
27
|
if (attribute) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gooddata/sdk-ui-dashboard",
|
|
3
|
-
"version": "11.
|
|
3
|
+
"version": "11.60.0-alpha.0",
|
|
4
4
|
"description": "GoodData SDK - Dashboard Component",
|
|
5
5
|
"license": "LicenseRef-LICENSE",
|
|
6
6
|
"author": "GoodData Corporation",
|
|
@@ -60,20 +60,20 @@
|
|
|
60
60
|
"ts-invariant": "0.10.3",
|
|
61
61
|
"tslib": "2.8.1",
|
|
62
62
|
"uuid": "11.1.1",
|
|
63
|
-
"@gooddata/sdk-backend-base": "11.
|
|
64
|
-
"@gooddata/sdk-backend-spi": "11.
|
|
65
|
-
"@gooddata/sdk-
|
|
66
|
-
"@gooddata/sdk-ui
|
|
67
|
-
"@gooddata/sdk-
|
|
68
|
-
"@gooddata/sdk-ui-
|
|
69
|
-
"@gooddata/sdk-ui-
|
|
70
|
-
"@gooddata/sdk-ui-
|
|
71
|
-
"@gooddata/sdk-ui-
|
|
72
|
-
"@gooddata/sdk-ui-
|
|
73
|
-
"@gooddata/sdk-ui-
|
|
74
|
-
"@gooddata/
|
|
75
|
-
"@gooddata/sdk-ui-
|
|
76
|
-
"@gooddata/
|
|
63
|
+
"@gooddata/sdk-backend-base": "11.60.0-alpha.0",
|
|
64
|
+
"@gooddata/sdk-backend-spi": "11.60.0-alpha.0",
|
|
65
|
+
"@gooddata/sdk-model": "11.60.0-alpha.0",
|
|
66
|
+
"@gooddata/sdk-ui": "11.60.0-alpha.0",
|
|
67
|
+
"@gooddata/sdk-ui-charts": "11.60.0-alpha.0",
|
|
68
|
+
"@gooddata/sdk-ui-filters": "11.60.0-alpha.0",
|
|
69
|
+
"@gooddata/sdk-ui-ext": "11.60.0-alpha.0",
|
|
70
|
+
"@gooddata/sdk-ui-geo": "11.60.0-alpha.0",
|
|
71
|
+
"@gooddata/sdk-ui-kit": "11.60.0-alpha.0",
|
|
72
|
+
"@gooddata/sdk-ui-pivot": "11.60.0-alpha.0",
|
|
73
|
+
"@gooddata/sdk-ui-semantic-search": "11.60.0-alpha.0",
|
|
74
|
+
"@gooddata/util": "11.60.0-alpha.0",
|
|
75
|
+
"@gooddata/sdk-ui-vis-commons": "11.60.0-alpha.0",
|
|
76
|
+
"@gooddata/sdk-ui-theme-provider": "11.60.0-alpha.0"
|
|
77
77
|
},
|
|
78
78
|
"devDependencies": {
|
|
79
79
|
"@microsoft/api-documenter": "7.30.16",
|
|
@@ -115,12 +115,12 @@
|
|
|
115
115
|
"typescript": "7.0.2",
|
|
116
116
|
"vitest": "4.1.11",
|
|
117
117
|
"vitest-dom": "0.1.1",
|
|
118
|
-
"@gooddata/eslint-config": "11.
|
|
119
|
-
"@gooddata/i18n-toolkit": "11.
|
|
120
|
-
"@gooddata/
|
|
121
|
-
"@gooddata/
|
|
122
|
-
"@gooddata/sdk-backend-mockingbird": "11.
|
|
123
|
-
"@gooddata/stylelint-config": "11.
|
|
118
|
+
"@gooddata/eslint-config": "11.60.0-alpha.0",
|
|
119
|
+
"@gooddata/i18n-toolkit": "11.60.0-alpha.0",
|
|
120
|
+
"@gooddata/reference-workspace": "11.60.0-alpha.0",
|
|
121
|
+
"@gooddata/oxlint-config": "11.60.0-alpha.0",
|
|
122
|
+
"@gooddata/sdk-backend-mockingbird": "11.60.0-alpha.0",
|
|
123
|
+
"@gooddata/stylelint-config": "11.60.0-alpha.0"
|
|
124
124
|
},
|
|
125
125
|
"peerDependencies": {
|
|
126
126
|
"react": "^18.0.0 || ^19.0.0",
|