@gooddata/sdk-ui-catalog 11.44.0-alpha.1 → 11.44.0-alpha.2
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/esm/catalogItem/CatalogFeedContext.d.ts +2 -0
- package/esm/catalogItem/CatalogFeedContext.d.ts.map +1 -1
- package/esm/catalogItem/CatalogFeedContext.js +4 -2
- package/esm/catalogItem/types.d.ts +8 -0
- package/esm/catalogItem/types.d.ts.map +1 -1
- package/esm/catalogItem/types.js +1 -1
- package/esm/catalogItem/useCatalogItemFeed.d.ts +3 -1
- package/esm/catalogItem/useCatalogItemFeed.d.ts.map +1 -1
- package/esm/catalogItem/useCatalogItemFeed.js +20 -4
- package/esm/catalogItem/useCatalogItemSemanticSearch.d.ts +8 -0
- package/esm/catalogItem/useCatalogItemSemanticSearch.d.ts.map +1 -0
- package/esm/catalogItem/useCatalogItemSemanticSearch.js +95 -0
- package/esm/main/Main.d.ts.map +1 -1
- package/esm/main/Main.js +2 -2
- package/esm/table/Table.d.ts +3 -1
- package/esm/table/Table.d.ts.map +1 -1
- package/esm/table/Table.js +7 -4
- package/package.json +14 -14
|
@@ -6,6 +6,8 @@ import type { ICatalogItem, ICatalogItemRef } from "./types.js";
|
|
|
6
6
|
export interface ICatalogFeedState {
|
|
7
7
|
items: ICatalogItem[];
|
|
8
8
|
status: AsyncStatus;
|
|
9
|
+
relatedItems: ICatalogItem[];
|
|
10
|
+
relatedItemsStatus: AsyncStatus;
|
|
9
11
|
error: Error | null;
|
|
10
12
|
totalCount: number;
|
|
11
13
|
totalCountByType: Readonly<Record<ObjectType, number>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CatalogFeedContext.d.ts","sourceRoot":"","sources":["../../src/catalogItem/CatalogFeedContext.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,iBAAiB,EAAsC,MAAM,OAAO,CAAC;AAEnF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEzD,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAGhE,MAAM,WAAW,iBAAiB;IAC9B,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,MAAM,EAAE,WAAW,CAAC;IACpB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;IACvD,OAAO,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,mBAAmB;IAChC,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1B,UAAU,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,IAAI,CAAC;IACzC,UAAU,EAAE,CAAC,IAAI,EAAE,eAAe,KAAK,IAAI,CAAC;IAC5C,iBAAiB,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1D;AAMD,MAAM,MAAM,wBAAwB,GAAG,iBAAiB,CAAC;IACrD,OAAO,EAAE,kBAAkB,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC;CACrB,CAAC,CAAC;AAEH,wBAAgB,mBAAmB,CAAC,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,wBAAwB,
|
|
1
|
+
{"version":3,"file":"CatalogFeedContext.d.ts","sourceRoot":"","sources":["../../src/catalogItem/CatalogFeedContext.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,iBAAiB,EAAsC,MAAM,OAAO,CAAC;AAEnF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEzD,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAGhE,MAAM,WAAW,iBAAiB;IAC9B,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,MAAM,EAAE,WAAW,CAAC;IACpB,YAAY,EAAE,YAAY,EAAE,CAAC;IAC7B,kBAAkB,EAAE,WAAW,CAAC;IAChC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;IACvD,OAAO,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,mBAAmB;IAChC,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1B,UAAU,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,IAAI,CAAC;IACzC,UAAU,EAAE,CAAC,IAAI,EAAE,eAAe,KAAK,IAAI,CAAC;IAC5C,iBAAiB,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1D;AAMD,MAAM,MAAM,wBAAwB,GAAG,iBAAiB,CAAC;IACrD,OAAO,EAAE,kBAAkB,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC;CACrB,CAAC,CAAC;AAEH,wBAAgB,mBAAmB,CAAC,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,wBAAwB,2CAkDnF;AAED,wBAAgB,mBAAmB,IAAI,iBAAiB,CAGvD;AAED,wBAAgB,qBAAqB,IAAI,mBAAmB,CAG3D;AAED,wBAAgB,qBAAqB,IAAI,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAG5E"}
|
|
@@ -8,15 +8,17 @@ const CatalogFeedActionsContext = createContext(null);
|
|
|
8
8
|
const CatalogFeedCounterContext = createContext(null);
|
|
9
9
|
export function CatalogFeedProvider({ children, ...props }) {
|
|
10
10
|
const feed = useCatalogItemFeed(props);
|
|
11
|
-
const { items, status, error, totalCount, totalCountByType, hasNext, next, updateItem, removeItem, refetchObjectType, } = feed;
|
|
11
|
+
const { items, status, error, totalCount, totalCountByType, hasNext, relatedItems, relatedItemsStatus, next, updateItem, removeItem, refetchObjectType, } = feed;
|
|
12
12
|
const state = useMemo(() => ({
|
|
13
13
|
items,
|
|
14
14
|
status,
|
|
15
|
+
relatedItems,
|
|
16
|
+
relatedItemsStatus,
|
|
15
17
|
error,
|
|
16
18
|
totalCount,
|
|
17
19
|
totalCountByType,
|
|
18
20
|
hasNext,
|
|
19
|
-
}), [items, status, error, totalCount, totalCountByType, hasNext]);
|
|
21
|
+
}), [items, status, relatedItems, relatedItemsStatus, error, totalCount, totalCountByType, hasNext]);
|
|
20
22
|
const actions = useMemo(() => ({
|
|
21
23
|
next,
|
|
22
24
|
updateItem,
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { IAnalyticalBackend } from "@gooddata/sdk-backend-spi";
|
|
2
2
|
import type { CertificationStatus, IDataSetMetadataObject, IParameterDefinition, IdentifierRef, MetricType, ObjectOrigin } from "@gooddata/sdk-model";
|
|
3
|
+
import { type AsyncStatus } from "../async/types.js";
|
|
3
4
|
import type { ObjectType } from "../objectType/types.js";
|
|
4
5
|
/**
|
|
5
6
|
* Catalog item reference.
|
|
@@ -123,4 +124,11 @@ export interface ICatalogItemQueryOptions {
|
|
|
123
124
|
certification?: boolean;
|
|
124
125
|
pageSize?: number;
|
|
125
126
|
}
|
|
127
|
+
export interface ICatalogItemSemanticSearchOptions {
|
|
128
|
+
queryOptions: ICatalogItemQueryOptions;
|
|
129
|
+
items: ICatalogItem[];
|
|
130
|
+
status: AsyncStatus;
|
|
131
|
+
types: ObjectType[];
|
|
132
|
+
search?: string;
|
|
133
|
+
}
|
|
126
134
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/catalogItem/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/catalogItem/types.ts"],"names":[],"mappings":"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"}
|
package/esm/catalogItem/types.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// (C) 2025-2026 GoodData Corporation
|
|
2
|
-
|
|
2
|
+
import {} from "../async/types.js";
|
|
@@ -2,8 +2,10 @@ import { type ObjectType } from "../objectType/types.js";
|
|
|
2
2
|
import type { ICatalogItem, ICatalogItemFeedOptions, ICatalogItemRef } from "./types.js";
|
|
3
3
|
export declare function useCatalogItemFeed(feedOptions: ICatalogItemFeedOptions): {
|
|
4
4
|
items: ICatalogItem[];
|
|
5
|
-
|
|
5
|
+
relatedItems: ICatalogItem[];
|
|
6
6
|
status: import("../async/types.js").AsyncStatus;
|
|
7
|
+
relatedItemsStatus: import("../async/types.js").AsyncStatus;
|
|
8
|
+
error: Error | null;
|
|
7
9
|
totalCount: number;
|
|
8
10
|
totalCountByType: {
|
|
9
11
|
analyticalDashboard: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useCatalogItemFeed.d.ts","sourceRoot":"","sources":["../../src/catalogItem/useCatalogItemFeed.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAKzD,OAAO,KAAK,EAAE,YAAY,EAAE,uBAAuB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"useCatalogItemFeed.d.ts","sourceRoot":"","sources":["../../src/catalogItem/useCatalogItemFeed.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAKzD,OAAO,KAAK,EAAE,YAAY,EAAE,uBAAuB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAKzF,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,uBAAuB;;;;;;;;;;;;;;;;;;;;;EA8EtE"}
|
|
@@ -8,6 +8,7 @@ import { useFeatureFlags } from "../permission/PermissionsContext.js";
|
|
|
8
8
|
import { useFullTextSearchState } from "../search/FullTextSearchContext.js";
|
|
9
9
|
import { convertEntityToCatalogItem } from "./converter.js";
|
|
10
10
|
import { useCatalogEndpoints, useCatalogQueryOptions } from "./useCatalogEndpoints.js";
|
|
11
|
+
import { useCatalogItemSemanticSearch } from "./useCatalogItemSemanticSearch.js";
|
|
11
12
|
import { useEndpointPaginator } from "./useEndpointPaginator.js";
|
|
12
13
|
export function useCatalogItemFeed(feedOptions) {
|
|
13
14
|
const { searchTerm: search } = useFullTextSearchState();
|
|
@@ -26,7 +27,20 @@ export function useCatalogItemFeed(feedOptions) {
|
|
|
26
27
|
const endpoints = useCatalogEndpoints(types, queryOptions, flags);
|
|
27
28
|
const paginator = useEndpointPaginator(endpoints, convertEntityToCatalogItem);
|
|
28
29
|
const { items, status, error, totalCount, totalCounts, hasNext, next, refetch, updateWhere, removeWhere, } = paginator;
|
|
29
|
-
const
|
|
30
|
+
const { relatedItems, relatedItemsStatus, relatedHasNext } = useCatalogItemSemanticSearch({
|
|
31
|
+
queryOptions,
|
|
32
|
+
items,
|
|
33
|
+
status,
|
|
34
|
+
types,
|
|
35
|
+
search,
|
|
36
|
+
});
|
|
37
|
+
const totalCountByType = useMemo(() => {
|
|
38
|
+
const counts = getTotalCountByType(endpoints, totalCounts);
|
|
39
|
+
for (const item of relatedItems) {
|
|
40
|
+
counts[item.type] += 1;
|
|
41
|
+
}
|
|
42
|
+
return counts;
|
|
43
|
+
}, [endpoints, totalCounts, relatedItems]);
|
|
30
44
|
const refetchObjectType = useCallback((type) => {
|
|
31
45
|
const index = endpoints.findIndex((endpoint) => endpoint.type === type);
|
|
32
46
|
return index === -1 ? Promise.resolve() : refetch(index);
|
|
@@ -35,11 +49,13 @@ export function useCatalogItemFeed(feedOptions) {
|
|
|
35
49
|
const removeItem = useCallback((item) => removeWhere((existing) => areObjRefsEqual(existing, item)), [removeWhere]);
|
|
36
50
|
return {
|
|
37
51
|
items,
|
|
38
|
-
|
|
52
|
+
relatedItems,
|
|
39
53
|
status,
|
|
40
|
-
|
|
54
|
+
relatedItemsStatus,
|
|
55
|
+
error,
|
|
56
|
+
totalCount: totalCount + relatedItems.length,
|
|
41
57
|
totalCountByType,
|
|
42
|
-
hasNext,
|
|
58
|
+
hasNext: hasNext || relatedHasNext,
|
|
43
59
|
next,
|
|
44
60
|
updateItem,
|
|
45
61
|
removeItem,
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { type AsyncStatus } from "../async/types.js";
|
|
2
|
+
import { type ICatalogItem, type ICatalogItemSemanticSearchOptions } from "./types.js";
|
|
3
|
+
export declare function useCatalogItemSemanticSearch({ queryOptions, items, status, types, search }: ICatalogItemSemanticSearchOptions): {
|
|
4
|
+
relatedItems: ICatalogItem[];
|
|
5
|
+
relatedItemsStatus: AsyncStatus;
|
|
6
|
+
relatedHasNext: boolean;
|
|
7
|
+
};
|
|
8
|
+
//# sourceMappingURL=useCatalogItemSemanticSearch.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useCatalogItemSemanticSearch.d.ts","sourceRoot":"","sources":["../../src/catalogItem/useCatalogItemSemanticSearch.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAMrD,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,iCAAiC,EAAE,MAAM,YAAY,CAAC;AAGvF,wBAAgB,4BAA4B,CAAC,EACzC,YAAY,EACZ,KAAK,EACL,MAAM,EACN,KAAK,EACL,MAAM,EACT,EAAE,iCAAiC;;;;EAkEnC"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
// (C) 2026 GoodData Corporation
|
|
2
|
+
import { useMemo } from "react";
|
|
3
|
+
import {} from "@gooddata/sdk-model";
|
|
4
|
+
import { useCancelablePromise } from "@gooddata/sdk-ui";
|
|
5
|
+
import { useSemanticSearch } from "@gooddata/sdk-ui-semantic-search";
|
|
6
|
+
import {} from "../async/types.js";
|
|
7
|
+
import { mapGenAIObjectType } from "../objectType/mapping.js";
|
|
8
|
+
import { useFeatureFlags } from "../permission/PermissionsContext.js";
|
|
9
|
+
import { convertEntityToCatalogItem } from "./converter.js";
|
|
10
|
+
import {} from "./types.js";
|
|
11
|
+
import { useCatalogEndpoints } from "./useCatalogEndpoints.js";
|
|
12
|
+
export function useCatalogItemSemanticSearch({ queryOptions, items, status, types, search, }) {
|
|
13
|
+
const flags = useFeatureFlags();
|
|
14
|
+
const objectTypes = useMemo(() => convertTypesToGenAiTypes(types), [types]);
|
|
15
|
+
const isSemanticSearchEnabled = Boolean(flags?.enableSemanticSearch);
|
|
16
|
+
const isSemanticSearchPossible = isSemanticSearchEnabled && objectTypes.length && search && !queryOptions.id;
|
|
17
|
+
const { searchStatus, searchResults } = useSemanticSearch({
|
|
18
|
+
searchTerm: isSemanticSearchPossible ? search : "",
|
|
19
|
+
backend: queryOptions.backend,
|
|
20
|
+
workspace: queryOptions.workspace,
|
|
21
|
+
objectTypes,
|
|
22
|
+
});
|
|
23
|
+
const updateQueryOptions = useMemo(() => {
|
|
24
|
+
return {
|
|
25
|
+
...queryOptions,
|
|
26
|
+
id: searchResults.map((item) => item.id),
|
|
27
|
+
search: undefined,
|
|
28
|
+
};
|
|
29
|
+
}, [queryOptions, searchResults]);
|
|
30
|
+
const endpoints = useCatalogEndpoints(types, updateQueryOptions, flags);
|
|
31
|
+
const { status: promiseStatus, result: promiseItems } = useCancelablePromise({
|
|
32
|
+
promise: async () => {
|
|
33
|
+
if (!isSemanticSearchEnabled || searchStatus !== "success") {
|
|
34
|
+
return [];
|
|
35
|
+
}
|
|
36
|
+
const firstPages = await Promise.all(endpoints.map((ep) => ep.query()));
|
|
37
|
+
const searchResultIds = searchResults.map((res) => res.id);
|
|
38
|
+
return firstPages
|
|
39
|
+
.reduce((items, page) => {
|
|
40
|
+
return [...items, ...page.items.map(convertEntityToCatalogItem)];
|
|
41
|
+
}, [])
|
|
42
|
+
.sort((a, b) => {
|
|
43
|
+
return searchResultIds.indexOf(a.identifier) - searchResultIds.indexOf(b.identifier);
|
|
44
|
+
});
|
|
45
|
+
},
|
|
46
|
+
onError: (err) => {
|
|
47
|
+
console.error(err);
|
|
48
|
+
},
|
|
49
|
+
}, [isSemanticSearchEnabled, searchStatus, endpoints, searchResults]);
|
|
50
|
+
const relatedItemsStatus = getRelatedItemsStatus(isSemanticSearchEnabled, searchStatus, promiseStatus);
|
|
51
|
+
const relatedHasNext = isSemanticSearchEnabled && relatedItemsStatus === "loading";
|
|
52
|
+
const isLoading = status === "loading" || status === "idle" || relatedHasNext;
|
|
53
|
+
const relatedItems = useMemo(() => {
|
|
54
|
+
if (isLoading) {
|
|
55
|
+
return [];
|
|
56
|
+
}
|
|
57
|
+
return (promiseItems ?? []).filter((relatedItem) => !items.some((item) => areCatalogItemsEqual(item, relatedItem)));
|
|
58
|
+
}, [promiseItems, isLoading, items]);
|
|
59
|
+
return {
|
|
60
|
+
relatedItems,
|
|
61
|
+
relatedItemsStatus,
|
|
62
|
+
relatedHasNext,
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
function convertTypesToGenAiTypes(types) {
|
|
66
|
+
if (!types.length) {
|
|
67
|
+
return ["fact", "attribute", "dashboard", "metric", "visualization", "dataset", "date"];
|
|
68
|
+
}
|
|
69
|
+
return types
|
|
70
|
+
.map((a) => {
|
|
71
|
+
if (a === "parameter") {
|
|
72
|
+
return null;
|
|
73
|
+
}
|
|
74
|
+
return mapGenAIObjectType(a);
|
|
75
|
+
})
|
|
76
|
+
.filter(Boolean);
|
|
77
|
+
}
|
|
78
|
+
function areCatalogItemsEqual(a, b) {
|
|
79
|
+
return a.identifier === b.identifier && a.type === b.type;
|
|
80
|
+
}
|
|
81
|
+
function getRelatedItemsStatus(isSemanticSearchEnabled, searchStatus, promiseStatus) {
|
|
82
|
+
if (!isSemanticSearchEnabled) {
|
|
83
|
+
return "idle";
|
|
84
|
+
}
|
|
85
|
+
if (searchStatus === "loading" || (searchStatus === "success" && promiseStatus === "loading")) {
|
|
86
|
+
return "loading";
|
|
87
|
+
}
|
|
88
|
+
if (searchStatus === "error" || promiseStatus === "error") {
|
|
89
|
+
return "error";
|
|
90
|
+
}
|
|
91
|
+
if (searchStatus === "success" && promiseStatus === "success") {
|
|
92
|
+
return "success";
|
|
93
|
+
}
|
|
94
|
+
return "idle";
|
|
95
|
+
}
|
package/esm/main/Main.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Main.d.ts","sourceRoot":"","sources":["../../src/main/Main.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,OAAO,CAAC;AAIxC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAIpE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAElE,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAelF,KAAK,KAAK,GAAG;IACT,OAAO,EAAE,kBAAkB,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,OAAO,CAAC;IACd,UAAU,EAAE,eAAe,GAAG,YAAY,GAAG,IAAI,CAAC;IAClD,aAAa,EAAE,CAAC,IAAI,EAAE,eAAe,GAAG,YAAY,GAAG,IAAI,KAAK,IAAI,CAAC;IACrE,YAAY,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,IAAI,CAAC;IAC3C,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,WAAW,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAC3E,uBAAuB,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,eAAe,KAAK,IAAI,CAAC;CAC/E,CAAC;AAQF,wBAAgB,IAAI,CAAC,EACjB,OAAO,EACP,SAAS,EACT,IAAI,EACJ,UAAU,EACV,aAAa,EACb,YAAY,EACZ,aAAa,EACb,WAAW,EACX,uBAAuB,EAC1B,EAAE,KAAK,
|
|
1
|
+
{"version":3,"file":"Main.d.ts","sourceRoot":"","sources":["../../src/main/Main.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,OAAO,CAAC;AAIxC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAIpE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAElE,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAelF,KAAK,KAAK,GAAG;IACT,OAAO,EAAE,kBAAkB,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,OAAO,CAAC;IACd,UAAU,EAAE,eAAe,GAAG,YAAY,GAAG,IAAI,CAAC;IAClD,aAAa,EAAE,CAAC,IAAI,EAAE,eAAe,GAAG,YAAY,GAAG,IAAI,KAAK,IAAI,CAAC;IACrE,YAAY,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,IAAI,CAAC;IAC3C,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,WAAW,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAC3E,uBAAuB,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,eAAe,KAAK,IAAI,CAAC;CAC/E,CAAC;AAQF,wBAAgB,IAAI,CAAC,EACjB,OAAO,EACP,SAAS,EACT,IAAI,EACJ,UAAU,EACV,aAAa,EACb,YAAY,EACZ,aAAa,EACb,WAAW,EACX,uBAAuB,EAC1B,EAAE,KAAK,2CAmEP"}
|
package/esm/main/Main.js
CHANGED
|
@@ -28,7 +28,7 @@ export function Main({ backend, workspace, open, openedItem, setItemOpened, onOp
|
|
|
28
28
|
const intl = useIntl();
|
|
29
29
|
const { addError } = useToastMessage();
|
|
30
30
|
const { toggleTag } = useFilterActions();
|
|
31
|
-
const { items, status, hasNext, totalCount } = useCatalogFeedState();
|
|
31
|
+
const { items, status, hasNext, totalCount, relatedItems, relatedItemsStatus } = useCatalogFeedState();
|
|
32
32
|
const { next, updateItem, removeItem, refetchObjectType } = useCatalogFeedActions();
|
|
33
33
|
const isQualityEnabled = useIsCatalogQualityEnabled();
|
|
34
34
|
return (_jsxs("section", { className: "gd-analytics-catalog__main", children: [
|
|
@@ -36,7 +36,7 @@ export function Main({ backend, workspace, open, openedItem, setItemOpened, onOp
|
|
|
36
36
|
_jsx(FilterObjectTypeMemo, {}), _jsxs(FilterGroupLayout, { title: _jsx(FormattedMessage, { id: "analyticsCatalog.filter.title" }), children: [
|
|
37
37
|
_jsx(FilterCreatedByMemo, { backend: backend, workspace: workspace }), _jsx(FilterTagsMemo, {}), _jsx(FilterOriginGuard, { backend: backend, workspace: workspace, children: _jsx(FilterOriginMemo, {}) }), isQualityEnabled ? _jsx(FilterQualityMemo, {}) : null, _jsx(FilterVisibilityMemo, {}), _jsx(FilterCertificationMemo, {}), _jsx(FilterResetButtonMemo, {})
|
|
38
38
|
] })
|
|
39
|
-
] }), _jsx(Table, { status: status, items: items, next: next, hasNext: hasNext, totalCount: totalCount, onItemClick: onOpenDetail, onTagClick: toggleTag }), _jsx(CatalogDetail, { open: open, objectDefinition: openedItem, onClose: onCloseDetail, onOpenClick: onOpenClick, onCatalogItemNavigation: (event, ref) => {
|
|
39
|
+
] }), _jsx(Table, { status: status, items: items, next: next, hasNext: hasNext, totalCount: totalCount, onItemClick: onOpenDetail, onTagClick: toggleTag, relatedItems: relatedItems, relatedItemsStatus: relatedItemsStatus }), _jsx(CatalogDetail, { open: open, objectDefinition: openedItem, onClose: onCloseDetail, onOpenClick: onOpenClick, onCatalogItemNavigation: (event, ref) => {
|
|
40
40
|
setItemOpened(ref);
|
|
41
41
|
onCatalogItemNavigation?.(event, ref);
|
|
42
42
|
}, onCatalogItemCreate: (item) => {
|
package/esm/table/Table.d.ts
CHANGED
|
@@ -3,11 +3,13 @@ import type { ICatalogItem } from "../catalogItem/types.js";
|
|
|
3
3
|
export interface ITableProps {
|
|
4
4
|
status: AsyncStatus;
|
|
5
5
|
items: ICatalogItem[];
|
|
6
|
+
relatedItems: ICatalogItem[];
|
|
7
|
+
relatedItemsStatus: AsyncStatus;
|
|
6
8
|
totalCount: number;
|
|
7
9
|
next: () => Promise<void>;
|
|
8
10
|
hasNext: boolean;
|
|
9
11
|
onTagClick?: (tag: string) => void;
|
|
10
12
|
onItemClick?: (item: ICatalogItem) => void;
|
|
11
13
|
}
|
|
12
|
-
export declare function Table({ items, status, next, hasNext, totalCount, onTagClick, onItemClick }: ITableProps): import("react/jsx-runtime").JSX.Element;
|
|
14
|
+
export declare function Table({ items, status, next, hasNext, totalCount, relatedItemsStatus, relatedItems, onTagClick, onItemClick }: ITableProps): import("react/jsx-runtime").JSX.Element;
|
|
13
15
|
//# sourceMappingURL=Table.d.ts.map
|
package/esm/table/Table.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Table.d.ts","sourceRoot":"","sources":["../../src/table/Table.tsx"],"names":[],"mappings":"AAiBA,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAU5D,MAAM,WAAW,WAAW;IACxB,MAAM,EAAE,WAAW,CAAC;IACpB,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,IAAI,CAAC;CAC9C;AAED,wBAAgB,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"Table.d.ts","sourceRoot":"","sources":["../../src/table/Table.tsx"],"names":[],"mappings":"AAiBA,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAU5D,MAAM,WAAW,WAAW;IACxB,MAAM,EAAE,WAAW,CAAC;IACpB,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,YAAY,EAAE,YAAY,EAAE,CAAC;IAC7B,kBAAkB,EAAE,WAAW,CAAC;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,IAAI,CAAC;CAC9C;AAED,wBAAgB,KAAK,CAAC,EAClB,KAAK,EACL,MAAM,EACN,IAAI,EACJ,OAAO,EACP,UAAU,EACV,kBAAkB,EAClB,YAAY,EACZ,UAAU,EACV,WAAW,EACd,EAAE,WAAW,2CAiFb"}
|
package/esm/table/Table.js
CHANGED
|
@@ -11,7 +11,7 @@ import { updatedAtColumn } from "./columns/ModifiedColumn.js";
|
|
|
11
11
|
import { tagsColumn } from "./columns/TagsColumn.js";
|
|
12
12
|
import { titleColumn } from "./columns/TitleColumn.js";
|
|
13
13
|
const tableWidth = 1100;
|
|
14
|
-
export function Table({ items, status, next, hasNext, totalCount, onTagClick, onItemClick }) {
|
|
14
|
+
export function Table({ items, status, next, hasNext, totalCount, relatedItemsStatus, relatedItems, onTagClick, onItemClick, }) {
|
|
15
15
|
const intl = useIntl();
|
|
16
16
|
const { searchTerm } = useFullTextSearchState();
|
|
17
17
|
const { ref, height, width } = useElementSize();
|
|
@@ -26,9 +26,12 @@ export function Table({ items, status, next, hasNext, totalCount, onTagClick, on
|
|
|
26
26
|
];
|
|
27
27
|
}, [intl, onTagClick, availableWidth]);
|
|
28
28
|
const isLoading = status === "loading" || status === "idle";
|
|
29
|
+
const isRelatedLoading = relatedItemsStatus === "loading";
|
|
29
30
|
const isSearching = searchTerm.length > 0;
|
|
30
|
-
const effectiveItems = useMemo(() => items.map((item) => ({ ...item, id: item.identifier })), [items]);
|
|
31
|
-
const skeletonItemsCount = isLoading
|
|
31
|
+
const effectiveItems = useMemo(() => [...items, ...relatedItems].map((item) => ({ ...item, id: item.identifier })), [items, relatedItems]);
|
|
32
|
+
const skeletonItemsCount = isLoading
|
|
33
|
+
? 3
|
|
34
|
+
: totalCount - effectiveItems.length + (isRelatedLoading ? 3 : 0);
|
|
32
35
|
const announcedTotalResults = isSearching && status === "success" ? totalCount : undefined;
|
|
33
36
|
if (status === "error") {
|
|
34
37
|
return (_jsx(ErrorComponent, { message: intl.formatMessage({ id: "analyticsCatalog.error.unknown.message" }), description: intl.formatMessage({ id: "analyticsCatalog.error.unknown.description" }), width: "100%" }));
|
|
@@ -38,7 +41,7 @@ export function Table({ items, status, next, hasNext, totalCount, onTagClick, on
|
|
|
38
41
|
//paging
|
|
39
42
|
hasNextPage: hasNext, loadNextPage: () => {
|
|
40
43
|
void next();
|
|
41
|
-
}, maxHeight: height - UiAsyncTableRowHeightNormal, isLoading: isLoading,
|
|
44
|
+
}, maxHeight: height - UiAsyncTableRowHeightNormal, isLoading: isLoading || (items.length === 0 && isRelatedLoading),
|
|
42
45
|
//events
|
|
43
46
|
onItemClick: onItemClick,
|
|
44
47
|
//renderers
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gooddata/sdk-ui-catalog",
|
|
3
|
-
"version": "11.44.0-alpha.
|
|
3
|
+
"version": "11.44.0-alpha.2",
|
|
4
4
|
"description": "GoodData SDK - Analytics Catalog",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "GoodData Corporation",
|
|
@@ -45,14 +45,14 @@
|
|
|
45
45
|
"tslib": "2.8.1",
|
|
46
46
|
"yaml": "2.8.3",
|
|
47
47
|
"zod": "4.3.6",
|
|
48
|
-
"@gooddata/sdk-backend-spi": "11.44.0-alpha.
|
|
49
|
-
"@gooddata/sdk-model": "11.44.0-alpha.
|
|
50
|
-
"@gooddata/sdk-ui": "11.44.0-alpha.
|
|
51
|
-
"@gooddata/sdk-ui-ext": "11.44.0-alpha.
|
|
52
|
-
"@gooddata/sdk-ui-
|
|
53
|
-
"@gooddata/sdk-ui-
|
|
54
|
-
"@gooddata/sdk-ui-
|
|
55
|
-
"@gooddata/util": "11.44.0-alpha.
|
|
48
|
+
"@gooddata/sdk-backend-spi": "11.44.0-alpha.2",
|
|
49
|
+
"@gooddata/sdk-model": "11.44.0-alpha.2",
|
|
50
|
+
"@gooddata/sdk-ui": "11.44.0-alpha.2",
|
|
51
|
+
"@gooddata/sdk-ui-ext": "11.44.0-alpha.2",
|
|
52
|
+
"@gooddata/sdk-ui-semantic-search": "11.44.0-alpha.2",
|
|
53
|
+
"@gooddata/sdk-ui-theme-provider": "11.44.0-alpha.2",
|
|
54
|
+
"@gooddata/sdk-ui-kit": "11.44.0-alpha.2",
|
|
55
|
+
"@gooddata/util": "11.44.0-alpha.2"
|
|
56
56
|
},
|
|
57
57
|
"devDependencies": {
|
|
58
58
|
"@microsoft/api-documenter": "^7.17.0",
|
|
@@ -92,11 +92,11 @@
|
|
|
92
92
|
"typescript": "5.9.3",
|
|
93
93
|
"vitest": "4.1.8",
|
|
94
94
|
"vitest-dom": "0.1.1",
|
|
95
|
-
"@gooddata/eslint-config": "11.44.0-alpha.
|
|
96
|
-
"@gooddata/
|
|
97
|
-
"@gooddata/
|
|
98
|
-
"@gooddata/sdk-backend-mockingbird": "11.44.0-alpha.
|
|
99
|
-
"@gooddata/stylelint-config": "11.44.0-alpha.
|
|
95
|
+
"@gooddata/eslint-config": "11.44.0-alpha.2",
|
|
96
|
+
"@gooddata/i18n-toolkit": "11.44.0-alpha.2",
|
|
97
|
+
"@gooddata/oxlint-config": "11.44.0-alpha.2",
|
|
98
|
+
"@gooddata/sdk-backend-mockingbird": "11.44.0-alpha.2",
|
|
99
|
+
"@gooddata/stylelint-config": "11.44.0-alpha.2"
|
|
100
100
|
},
|
|
101
101
|
"peerDependencies": {
|
|
102
102
|
"react": "^18.0.0 || ^19.0.0",
|