@gooddata/sdk-ui-ext 11.32.0-alpha.1 → 11.32.0-alpha.3
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 +6 -6
- package/esm/index.d.ts +4 -1
- package/esm/index.d.ts.map +1 -1
- package/esm/index.js +2 -0
- package/esm/index.js.map +1 -1
- package/esm/insightPicker/InsightPicker.d.ts +18 -0
- package/esm/insightPicker/InsightPicker.d.ts.map +1 -0
- package/esm/insightPicker/InsightPicker.js +29 -0
- package/esm/insightPicker/InsightPicker.js.map +1 -0
- package/esm/insightPicker/InsightPickerCore.d.ts +3 -0
- package/esm/insightPicker/InsightPickerCore.d.ts.map +1 -0
- package/esm/insightPicker/InsightPickerCore.js +117 -0
- package/esm/insightPicker/InsightPickerCore.js.map +1 -0
- package/esm/insightPicker/InsightPickerFilterBar.d.ts +21 -0
- package/esm/insightPicker/InsightPickerFilterBar.d.ts.map +1 -0
- package/esm/insightPicker/InsightPickerFilterBar.js +46 -0
- package/esm/insightPicker/InsightPickerFilterBar.js.map +1 -0
- package/esm/insightPicker/InsightPickerMenu.d.ts +10 -0
- package/esm/insightPicker/InsightPickerMenu.d.ts.map +1 -0
- package/esm/insightPicker/InsightPickerMenu.js +22 -0
- package/esm/insightPicker/InsightPickerMenu.js.map +1 -0
- package/esm/insightPicker/InsightPickerRow.d.ts +17 -0
- package/esm/insightPicker/InsightPickerRow.d.ts.map +1 -0
- package/esm/insightPicker/InsightPickerRow.js +19 -0
- package/esm/insightPicker/InsightPickerRow.js.map +1 -0
- package/esm/insightPicker/InsightPickerSortDropdown.d.ts +9 -0
- package/esm/insightPicker/InsightPickerSortDropdown.d.ts.map +1 -0
- package/esm/insightPicker/InsightPickerSortDropdown.js +29 -0
- package/esm/insightPicker/InsightPickerSortDropdown.js.map +1 -0
- package/esm/insightPicker/messages.d.ts +60 -0
- package/esm/insightPicker/messages.d.ts.map +1 -0
- package/esm/insightPicker/messages.js +62 -0
- package/esm/insightPicker/messages.js.map +1 -0
- package/esm/insightPicker/types.d.ts +107 -0
- package/esm/insightPicker/types.d.ts.map +1 -0
- package/esm/insightPicker/types.js +3 -0
- package/esm/insightPicker/types.js.map +1 -0
- package/esm/insightPicker/useInsightPickerFilters.d.ts +17 -0
- package/esm/insightPicker/useInsightPickerFilters.d.ts.map +1 -0
- package/esm/insightPicker/useInsightPickerFilters.js +55 -0
- package/esm/insightPicker/useInsightPickerFilters.js.map +1 -0
- package/esm/insightPicker/useInsightPickerHybridSearch.d.ts +25 -0
- package/esm/insightPicker/useInsightPickerHybridSearch.d.ts.map +1 -0
- package/esm/insightPicker/useInsightPickerHybridSearch.js +66 -0
- package/esm/insightPicker/useInsightPickerHybridSearch.js.map +1 -0
- package/esm/insightPicker/useInsightPickerState.d.ts +21 -0
- package/esm/insightPicker/useInsightPickerState.d.ts.map +1 -0
- package/esm/insightPicker/useInsightPickerState.js +49 -0
- package/esm/insightPicker/useInsightPickerState.js.map +1 -0
- package/esm/internal/components/insightList/useInsightPagedList.d.ts +33 -1
- package/esm/internal/components/insightList/useInsightPagedList.d.ts.map +1 -1
- package/esm/internal/components/insightList/useInsightPagedList.js +37 -9
- package/esm/internal/components/insightList/useInsightPagedList.js.map +1 -1
- package/esm/internal/index.d.ts +1 -1
- package/esm/internal/index.d.ts.map +1 -1
- package/esm/internal/index.js.map +1 -1
- package/esm/internal/translations/en-US.localization-bundle.d.ts +76 -0
- package/esm/internal/translations/en-US.localization-bundle.d.ts.map +1 -1
- package/esm/internal/translations/en-US.localization-bundle.js +76 -0
- package/esm/internal/translations/en-US.localization-bundle.js.map +1 -1
- package/esm/sdk-ui-ext.d.ts +183 -1
- package/package.json +21 -20
- package/styles/css/main.css +160 -0
- package/styles/css/main.css.map +1 -1
- package/styles/internal/css/insightPicker.css +161 -0
- package/styles/internal/css/insightPicker.css.map +1 -0
- package/styles/internal/scss/insightPicker.scss +189 -0
- package/styles/scss/main.scss +1 -0
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-4-
|
|
10
|
+
Date generated: 2026-4-27
|
|
11
11
|
|
|
12
|
-
Revision ID:
|
|
12
|
+
Revision ID: 6cac3100ec40bb99fc182ce2d1421f1102ab9684
|
|
13
13
|
|
|
14
14
|
================================================================================
|
|
15
15
|
================================================================================
|
|
@@ -375,7 +375,7 @@ Revision ID: 39ae9f560bcef668b8fbfd561499cd1d0947af28
|
|
|
375
375
|
- bail (2.0.2) [MIT]
|
|
376
376
|
- balanced-match (2.0.0) [MIT]
|
|
377
377
|
- base64-js (1.5.1) [MIT]
|
|
378
|
-
- baseline-browser-mapping (2.10.
|
|
378
|
+
- baseline-browser-mapping (2.10.23) [Apache-2.0]
|
|
379
379
|
- batch (0.6.1) [MIT]
|
|
380
380
|
- binary-extensions (2.3.0) [MIT]
|
|
381
381
|
- bl (4.1.0) [MIT]
|
|
@@ -5354,9 +5354,9 @@ MIT
|
|
|
5354
5354
|
|
|
5355
5355
|
|
|
5356
5356
|
--------------------------------------------------------------------------------
|
|
5357
|
-
Package Title: baseline-browser-mapping (2.10.
|
|
5357
|
+
Package Title: baseline-browser-mapping (2.10.23)
|
|
5358
5358
|
|
|
5359
|
-
Package Locator: npm+baseline-browser-mapping$2.10.
|
|
5359
|
+
Package Locator: npm+baseline-browser-mapping$2.10.23
|
|
5360
5360
|
|
|
5361
5361
|
Package Depth: Transitive
|
|
5362
5362
|
--------------------------------------------------------------------------------
|
|
@@ -38241,4 +38241,4 @@ POSSIBILITY OF SUCH DAMAGE.
|
|
|
38241
38241
|
--------------------------------------------------------------------------------
|
|
38242
38242
|
--------------------------------------------------------------------------------
|
|
38243
38243
|
|
|
38244
|
-
Report Generated by FOSSA on 2026-4-
|
|
38244
|
+
Report Generated by FOSSA on 2026-4-27
|
package/esm/index.d.ts
CHANGED
|
@@ -19,6 +19,9 @@ export { InsightError, type IInsightErrorProps } from "./insightView/InsightErro
|
|
|
19
19
|
export { InsightRenderer, type IInsightRendererProps } from "./insightView/InsightRenderer.js";
|
|
20
20
|
export { type IInsightViewProps, type IInsightTitleProps };
|
|
21
21
|
export { Automations } from "./automations/Automations.js";
|
|
22
|
+
export { InsightPicker } from "./insightPicker/InsightPicker.js";
|
|
23
|
+
export { useInsightPickerState } from "./insightPicker/useInsightPickerState.js";
|
|
24
|
+
export type { IInsightPickerProps, IInsightPickerItem, IInsightPickerMenuAction, IInsightPickerMenuProps, IInsightPickerRenderItemProps, InsightPickerSortBy, InsightPickerSortDirection, } from "./insightPicker/types.js";
|
|
22
25
|
export type { IAutomationsProps, AutomationsType, AutomationsScope, AutomationsColumnName, ScheduleAutomationsColumnName, CommonAutomationsColumnName, AutomationColumnDefinition, AutomationColumnDefinitions, AutomationsFilterName, AutomationsFilterPreselectName, AutomationsFilterPreselectValue, AutomationsPreselectedFilters, AutomationsAvailableFilters, AutomationsOnLoad, IEditAutomation, } from "./automations/types.js";
|
|
23
26
|
export { getComparisonOperatorTitle, getRelativeOperatorTitle } from "./automations/utils.js";
|
|
24
27
|
export { COMPARISON_OPERATORS, RELATIVE_OPERATORS, ARITHMETIC_OPERATORS, AI_OPERATORS, AI_OPERATOR, } from "./automations/constants.js";
|
|
@@ -71,5 +74,5 @@ export type { INotificationsPanelView } from "./notificationsPanel/types.js";
|
|
|
71
74
|
* @deprecated no longer necessary to call this method. It's now no-op for React 18 and 19, kept for backward compatibility.
|
|
72
75
|
*/
|
|
73
76
|
export declare function provideCreateRoot(_fn: any): void;
|
|
74
|
-
export { useInsightPagedList, type IUsePagedDropdownConfig, type IUsePagedDropdownResult, type ITabsIds, } from "./internal/components/insightList/useInsightPagedList.js";
|
|
77
|
+
export { useInsightPagedList, type IUsePagedDropdownConfig, type IUsePagedDropdownResult, type ITabsIds, type InsightListSortBy, type InsightListSortDirection, } from "./internal/components/insightList/useInsightPagedList.js";
|
|
75
78
|
//# sourceMappingURL=index.d.ts.map
|
package/esm/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/esm/index.js
CHANGED
|
@@ -5,6 +5,8 @@ export { InsightView } from "./insightView/InsightView.js";
|
|
|
5
5
|
export { InsightError } from "./insightView/InsightError.js";
|
|
6
6
|
export { InsightRenderer } from "./insightView/InsightRenderer.js";
|
|
7
7
|
export { Automations } from "./automations/Automations.js";
|
|
8
|
+
export { InsightPicker } from "./insightPicker/InsightPicker.js";
|
|
9
|
+
export { useInsightPickerState } from "./insightPicker/useInsightPickerState.js";
|
|
8
10
|
export { getComparisonOperatorTitle, getRelativeOperatorTitle } from "./automations/utils.js";
|
|
9
11
|
export { COMPARISON_OPERATORS, RELATIVE_OPERATORS, ARITHMETIC_OPERATORS, AI_OPERATORS, AI_OPERATOR, } from "./automations/constants.js";
|
|
10
12
|
// exported for sdk-ui-dashboard
|
package/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,qCAAqC;AAoBrC,OAAO,EACH,sCAAsC,EACtC,yCAAyC,EACzC,kBAAkB,EAClB,gBAAgB,EAChB,qBAAqB,EACrB,wBAAwB,EAOxB,gCAAgC,EAChC,oCAAoC,EAMpC,4BAA4B,EAE5B,uBAAuB,EACvB,gCAAgC,EAEhC,kCAAkC,EAClC,sCAAsC,EACtC,+CAA+C,EAC/C,mDAAmD,EACnD,iCAAiC,EACjC,+BAA+B,EAC/B,qBAAqB,EACrB,qBAAqB,EACrB,UAAU,EACV,UAAU,EACV,iBAAiB,EACjB,8BAA8B,GACjC,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,YAAY,EAA2B,MAAM,+BAA+B,CAAC;AACtF,OAAO,EAAE,eAAe,EAA8B,MAAM,kCAAkC,CAAC;AAE/F,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { type IInsightPickerProps } from "./types.js";
|
|
2
|
+
/**
|
|
3
|
+
* InsightPicker - A reusable component for browsing, searching, and selecting insights.
|
|
4
|
+
*
|
|
5
|
+
* Features:
|
|
6
|
+
* - Paginated insight list with "All" / "Created by me" tabs
|
|
7
|
+
* - Hybrid search: local keyword matching + AI-powered semantic search
|
|
8
|
+
* - Customizable three-dots action menu per item
|
|
9
|
+
* - Description panel (question mark icon) support
|
|
10
|
+
* - Tag-based filtering (include/exclude)
|
|
11
|
+
*
|
|
12
|
+
* Requires `BackendProvider` and `WorkspaceProvider` ancestors in the component tree,
|
|
13
|
+
* or explicit `backend` and `workspace` props.
|
|
14
|
+
*
|
|
15
|
+
* @internal
|
|
16
|
+
*/
|
|
17
|
+
export declare function InsightPicker(props: IInsightPickerProps): import("react/jsx-runtime").JSX.Element;
|
|
18
|
+
//# sourceMappingURL=InsightPicker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InsightPicker.d.ts","sourceRoot":"","sources":["../../src/insightPicker/InsightPicker.tsx"],"names":[],"mappings":"AAQA,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEtD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,mBAAmB,2CAYvD"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
// (C) 2026 GoodData Corporation
|
|
3
|
+
import { useContext } from "react";
|
|
4
|
+
import { IntlContext } from "react-intl";
|
|
5
|
+
import { InternalIntlWrapper } from "../internal/utils/internalIntlProvider.js";
|
|
6
|
+
import { InsightPickerCore } from "./InsightPickerCore.js";
|
|
7
|
+
/**
|
|
8
|
+
* InsightPicker - A reusable component for browsing, searching, and selecting insights.
|
|
9
|
+
*
|
|
10
|
+
* Features:
|
|
11
|
+
* - Paginated insight list with "All" / "Created by me" tabs
|
|
12
|
+
* - Hybrid search: local keyword matching + AI-powered semantic search
|
|
13
|
+
* - Customizable three-dots action menu per item
|
|
14
|
+
* - Description panel (question mark icon) support
|
|
15
|
+
* - Tag-based filtering (include/exclude)
|
|
16
|
+
*
|
|
17
|
+
* Requires `BackendProvider` and `WorkspaceProvider` ancestors in the component tree,
|
|
18
|
+
* or explicit `backend` and `workspace` props.
|
|
19
|
+
*
|
|
20
|
+
* @internal
|
|
21
|
+
*/
|
|
22
|
+
export function InsightPicker(props) {
|
|
23
|
+
const intlContext = useContext(IntlContext);
|
|
24
|
+
if (intlContext) {
|
|
25
|
+
return _jsx(InsightPickerCore, { ...props });
|
|
26
|
+
}
|
|
27
|
+
return (_jsx(InternalIntlWrapper, { locale: props.locale, children: _jsx(InsightPickerCore, { ...props }) }));
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=InsightPicker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InsightPicker.js","sourceRoot":"","sources":["../../src/insightPicker/InsightPicker.tsx"],"names":[],"mappings":";AAAA,gCAAgC;AAEhC,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAEnC,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,OAAO,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AAChF,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAG3D;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,aAAa,CAAC,KAA0B,EAAE;IACtD,MAAM,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;IAE5C,IAAI,WAAW,EAAE,CAAC;QACd,OAAO,KAAC,iBAAiB,OAAK,KAAK,GAAI,CAAC;IAC5C,CAAC;IAED,OAAO,CACH,KAAC,mBAAmB,IAAC,MAAM,EAAE,KAAK,CAAC,MAAM,YACrC,KAAC,iBAAiB,OAAK,KAAK,GAAI,GACd,CACzB,CAAC;AAAA,CACL"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { type IInsightPickerProps } from "./types.js";
|
|
2
|
+
export declare function InsightPickerCore({ backend: backendProp, workspace: workspaceProp, includeTags, excludeTags, author, enabledVisualizationClassesUrls, selectedInsightId, enableDescriptions, metadataTimeZone, searchQuery, onSearchChange, sortBy, sortDirection, onSortChange, authorFilter, onAuthorFilterChange, tagFilter, onTagFilterChange, enableSemanticSearch, maxHeight, width, onSelect, onDescriptionPanelOpen, onItemActivate, menuActions, renderMenu, renderItem: renderItemProp }: IInsightPickerProps): import("react/jsx-runtime").JSX.Element;
|
|
3
|
+
//# sourceMappingURL=InsightPickerCore.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InsightPickerCore.d.ts","sourceRoot":"","sources":["../../src/insightPicker/InsightPickerCore.tsx"],"names":[],"mappings":"AAiBA,OAAO,EAA2B,KAAK,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAO/E,wBAAgB,iBAAiB,CAAC,EAC9B,OAAO,EAAE,WAAW,EACpB,SAAS,EAAE,aAAa,EACxB,WAAW,EACX,WAAW,EACX,MAAM,EACN,+BAAoC,EACpC,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,WAAW,EACX,cAAc,EACd,MAAM,EACN,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,oBAAoB,EACpB,SAAS,EACT,iBAAiB,EACjB,oBAA2B,EAC3B,SAAe,EACf,KAAW,EACX,QAAQ,EACR,sBAAsB,EACtB,cAAc,EACd,WAAW,EACX,UAAU,EACV,UAAU,EAAE,cAAc,EAC7B,EAAE,mBAAmB,2CAgOrB"}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
// (C) 2026 GoodData Corporation
|
|
3
|
+
import { useCallback, useEffect, useMemo, useRef } from "react";
|
|
4
|
+
import { useIntl } from "react-intl";
|
|
5
|
+
import { idRef, insightId, uriRef } from "@gooddata/sdk-model";
|
|
6
|
+
import { useBackendStrict, useWorkspaceStrict } from "@gooddata/sdk-ui";
|
|
7
|
+
import { DropdownList, Input, NoData, UiSkeleton, isEscapeKey } from "@gooddata/sdk-ui-kit";
|
|
8
|
+
import { useInsightPagedList, } from "../internal/components/insightList/useInsightPagedList.js";
|
|
9
|
+
import { InsightPickerFilterBar } from "./InsightPickerFilterBar.js";
|
|
10
|
+
import { InsightPickerRow } from "./InsightPickerRow.js";
|
|
11
|
+
import { messages } from "./messages.js";
|
|
12
|
+
import { useInsightPickerFilters } from "./useInsightPickerFilters.js";
|
|
13
|
+
import { useInsightPickerHybridSearch } from "./useInsightPickerHybridSearch.js";
|
|
14
|
+
// These tab identifiers are internal keys for useInsightPagedList state — not i18n IDs.
|
|
15
|
+
const tabsIds = { my: "my", all: "all" };
|
|
16
|
+
export function InsightPickerCore({ backend: backendProp, workspace: workspaceProp, includeTags, excludeTags, author, enabledVisualizationClassesUrls = [], selectedInsightId, enableDescriptions, metadataTimeZone, searchQuery, onSearchChange, sortBy, sortDirection, onSortChange, authorFilter, onAuthorFilterChange, tagFilter, onTagFilterChange, enableSemanticSearch = true, maxHeight = 350, width = 700, onSelect, onDescriptionPanelOpen, onItemActivate, menuActions, renderMenu, renderItem: renderItemProp, }) {
|
|
17
|
+
const intl = useIntl();
|
|
18
|
+
const backend = useBackendStrict(backendProp);
|
|
19
|
+
const workspace = useWorkspaceStrict(workspaceProp);
|
|
20
|
+
const hasMenu = !!(menuActions?.length || renderMenu);
|
|
21
|
+
// --- Filter options from API ---
|
|
22
|
+
const { authorOptions: authorFilterOptions, tagOptions: tagFilterOptions, authorsLoaded, tagsLoaded, } = useInsightPickerFilters(backend, workspace, author);
|
|
23
|
+
// --- Effective tags for the query (combine user selection with URL scope) ---
|
|
24
|
+
const effectiveTags = useMemo(() => {
|
|
25
|
+
if (tagFilter.length > 0) {
|
|
26
|
+
return includeTags?.length ? tagFilter.filter((t) => includeTags.includes(t)) : tagFilter;
|
|
27
|
+
}
|
|
28
|
+
return includeTags;
|
|
29
|
+
}, [tagFilter, includeTags]);
|
|
30
|
+
// --- Fetch insights ---
|
|
31
|
+
const { items: insights, totalItemsCount: totalInsightsCount, isLoading, isNextPageLoading, initialLoadCompleted, hasNextPage, skeletonItemsCount, loadNextPage, loadInitialItems, resetItems, } = useInsightPagedList({
|
|
32
|
+
backend,
|
|
33
|
+
workspaceId: workspace,
|
|
34
|
+
author,
|
|
35
|
+
tabsIds,
|
|
36
|
+
tags: effectiveTags,
|
|
37
|
+
excludeTags,
|
|
38
|
+
sortBy,
|
|
39
|
+
sortDirection,
|
|
40
|
+
createdByFilter: authorFilter.length > 0 ? authorFilter : undefined,
|
|
41
|
+
includeAuthorInfo: true,
|
|
42
|
+
});
|
|
43
|
+
// Fetch on mount
|
|
44
|
+
useEffect(() => {
|
|
45
|
+
loadInitialItems();
|
|
46
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
47
|
+
}, []);
|
|
48
|
+
// Reload when sorting or filters change (after initial load)
|
|
49
|
+
const sortingKey = `${sortBy ?? ""},${sortDirection}`;
|
|
50
|
+
const authorFilterKey = authorFilter.join(",");
|
|
51
|
+
const tagFilterKey = tagFilter.join(",");
|
|
52
|
+
const prevKeys = useRef({ sortingKey, authorFilterKey, tagFilterKey });
|
|
53
|
+
useEffect(() => {
|
|
54
|
+
const prev = prevKeys.current;
|
|
55
|
+
if (sortingKey !== prev.sortingKey ||
|
|
56
|
+
authorFilterKey !== prev.authorFilterKey ||
|
|
57
|
+
tagFilterKey !== prev.tagFilterKey) {
|
|
58
|
+
prevKeys.current = { sortingKey, authorFilterKey, tagFilterKey };
|
|
59
|
+
resetItems();
|
|
60
|
+
}
|
|
61
|
+
}, [sortingKey, authorFilterKey, tagFilterKey, resetItems]);
|
|
62
|
+
// --- Insight lookup ---
|
|
63
|
+
const insightsByIdentifier = useMemo(() => new Map(insights.map((insight) => [insightId(insight), insight])), [insights]);
|
|
64
|
+
// --- Hybrid search ---
|
|
65
|
+
const { searchState, semanticSearchState, displayItems, isSearching, handleSearchChange } = useInsightPickerHybridSearch({
|
|
66
|
+
insights,
|
|
67
|
+
searchQuery,
|
|
68
|
+
onSearchChange,
|
|
69
|
+
enableSemanticSearch,
|
|
70
|
+
includeTags,
|
|
71
|
+
excludeTags,
|
|
72
|
+
});
|
|
73
|
+
const totalItems = isSearching ? displayItems.length : (totalInsightsCount ?? insights.length);
|
|
74
|
+
const shouldLoadNextPage = useCallback((lastItemIndex, itemsCount) => lastItemIndex >= itemsCount - 5, []);
|
|
75
|
+
const handleItemClick = useCallback((entry) => {
|
|
76
|
+
const entryRef = entry.uri ? uriRef(entry.uri) : idRef(entry.identifier, "insight");
|
|
77
|
+
onSelect(entryRef, entry);
|
|
78
|
+
}, [onSelect]);
|
|
79
|
+
return (_jsxs("div", { className: "gd-ui-ext-insight-picker", children: [initialLoadCompleted ? (_jsxs(_Fragment, { children: [
|
|
80
|
+
_jsx("div", { className: "gd-ui-ext-insight-picker-search", onKeyDown: (e) => {
|
|
81
|
+
if (isEscapeKey(e) && searchState.query) {
|
|
82
|
+
e.stopPropagation();
|
|
83
|
+
handleSearchChange("");
|
|
84
|
+
}
|
|
85
|
+
// When search is empty, let Esc propagate to close the dialog
|
|
86
|
+
}, children: _jsx(Input, { isSearch: true, autofocus: true, placeholder: intl.formatMessage(messages.searchPlaceholder), value: searchState.query, onChange: (value) => handleSearchChange(String(value)) }) }), _jsx(InsightPickerFilterBar, { author: author, authorFilterOptions: authorFilterOptions, tagFilterOptions: tagFilterOptions, authorsLoaded: authorsLoaded, tagsLoaded: tagsLoaded, includeTags: includeTags, excludeTags: excludeTags, authorFilter: authorFilter, tagFilter: tagFilter, onAuthorFilterChange: onAuthorFilterChange, onTagFilterChange: onTagFilterChange, sortBy: sortBy, sortDirection: sortDirection, onSortChange: onSortChange })
|
|
87
|
+
] })) : null, _jsx(DropdownList, { width: width, isMobile: false, isLoading: isSearching
|
|
88
|
+
? semanticSearchState.state === "loading" && displayItems.length === 0
|
|
89
|
+
: isLoading
|
|
90
|
+
? insights.length === 0
|
|
91
|
+
: undefined, showSearch: false, onKeyDownConfirm: (entry) => {
|
|
92
|
+
if (onItemActivate) {
|
|
93
|
+
const sourceInsight = insightsByIdentifier.get(entry.identifier);
|
|
94
|
+
onItemActivate(entry, sourceInsight);
|
|
95
|
+
}
|
|
96
|
+
else {
|
|
97
|
+
handleItemClick(entry);
|
|
98
|
+
}
|
|
99
|
+
}, itemHeight: 50, items: displayItems, itemsCount: totalItems, maxHeight: maxHeight, loadNextPage: isSearching ? undefined : loadNextPage, hasNextPage: isSearching ? false : hasNextPage, skeletonItemsCount: isSearching ? 0 : skeletonItemsCount, isNextPageLoading: isSearching ? false : isNextPageLoading, shouldLoadNextPage: isSearching ? undefined : shouldLoadNextPage, SkeletonItem: () => (_jsx(UiSkeleton, { itemWidth: ["100%"], direction: "row", itemPadding: 15, itemHeight: 30, itemsCount: 1, itemsGap: 0 })), renderItem: ({ item: entry, width: itemWidth }) => {
|
|
100
|
+
const type = (enabledVisualizationClassesUrls.includes(entry.visualizationUrl) &&
|
|
101
|
+
entry.visualizationUrl?.split(":")[1]) ||
|
|
102
|
+
"unknown";
|
|
103
|
+
const isSelected = entry.identifier === selectedInsightId;
|
|
104
|
+
if (renderItemProp) {
|
|
105
|
+
const sourceInsight = insightsByIdentifier.get(entry.identifier);
|
|
106
|
+
return renderItemProp({
|
|
107
|
+
item: entry,
|
|
108
|
+
type,
|
|
109
|
+
width: itemWidth,
|
|
110
|
+
isSelected,
|
|
111
|
+
sourceInsight,
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
return (_jsx(InsightPickerRow, { entry: entry, type: type, width: itemWidth, isSelected: isSelected, hasMenu: hasMenu, enableDescriptions: enableDescriptions, metadataTimeZone: metadataTimeZone, menuActions: menuActions, renderMenu: renderMenu, onItemClick: handleItemClick, onDescriptionPanelOpen: onDescriptionPanelOpen }));
|
|
115
|
+
}, renderNoData: ({ hasNoMatchingData }) => (_jsx(NoData, { notFoundLabel: intl.formatMessage(messages.noInsightsFound), noDataLabel: intl.formatMessage(messages.noInsights), hasNoMatchingData: hasNoMatchingData })) })] }));
|
|
116
|
+
}
|
|
117
|
+
//# sourceMappingURL=InsightPickerCore.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InsightPickerCore.js","sourceRoot":"","sources":["../../src/insightPicker/InsightPickerCore.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { type IUiAsyncTableFilterOption } from "@gooddata/sdk-ui-kit";
|
|
2
|
+
import { type InsightPickerSortBy, type InsightPickerSortDirection } from "./types.js";
|
|
3
|
+
interface IInsightPickerFilterBarProps {
|
|
4
|
+
author?: string;
|
|
5
|
+
authorFilterOptions: IUiAsyncTableFilterOption[];
|
|
6
|
+
tagFilterOptions: IUiAsyncTableFilterOption[];
|
|
7
|
+
authorsLoaded: boolean;
|
|
8
|
+
tagsLoaded: boolean;
|
|
9
|
+
includeTags?: string[];
|
|
10
|
+
excludeTags?: string[];
|
|
11
|
+
authorFilter: string[];
|
|
12
|
+
tagFilter: string[];
|
|
13
|
+
onAuthorFilterChange: (ids: string[]) => void;
|
|
14
|
+
onTagFilterChange: (ids: string[]) => void;
|
|
15
|
+
sortBy: InsightPickerSortBy;
|
|
16
|
+
sortDirection: InsightPickerSortDirection;
|
|
17
|
+
onSortChange: (sortBy: InsightPickerSortBy, sortDirection: InsightPickerSortDirection) => void;
|
|
18
|
+
}
|
|
19
|
+
export declare function InsightPickerFilterBar({ author, authorFilterOptions, tagFilterOptions, authorsLoaded, tagsLoaded, includeTags, excludeTags, authorFilter, tagFilter, onAuthorFilterChange, onTagFilterChange, sortBy, sortDirection, onSortChange }: IInsightPickerFilterBarProps): import("react/jsx-runtime").JSX.Element;
|
|
20
|
+
export {};
|
|
21
|
+
//# sourceMappingURL=InsightPickerFilterBar.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InsightPickerFilterBar.d.ts","sourceRoot":"","sources":["../../src/insightPicker/InsightPickerFilterBar.tsx"],"names":[],"mappings":"AAMA,OAAO,EACH,KAAK,yBAAyB,EAIjC,MAAM,sBAAsB,CAAC;AAI9B,OAAO,EAAE,KAAK,mBAAmB,EAAE,KAAK,0BAA0B,EAAE,MAAM,YAAY,CAAC;AAEvF,UAAU,4BAA4B;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,mBAAmB,EAAE,yBAAyB,EAAE,CAAC;IACjD,gBAAgB,EAAE,yBAAyB,EAAE,CAAC;IAC9C,aAAa,EAAE,OAAO,CAAC;IACvB,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,oBAAoB,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAC9C,iBAAiB,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAC3C,MAAM,EAAE,mBAAmB,CAAC;IAC5B,aAAa,EAAE,0BAA0B,CAAC;IAC1C,YAAY,EAAE,CAAC,MAAM,EAAE,mBAAmB,EAAE,aAAa,EAAE,0BAA0B,KAAK,IAAI,CAAC;CAClG;AAED,wBAAgB,sBAAsB,CAAC,EACnC,MAAM,EACN,mBAAmB,EACnB,gBAAgB,EAChB,aAAa,EACb,UAAU,EACV,WAAW,EACX,WAAW,EACX,YAAY,EACZ,SAAS,EACT,oBAAoB,EACpB,iBAAiB,EACjB,MAAM,EACN,aAAa,EACb,YAAY,EACf,EAAE,4BAA4B,2CAiH9B"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
// (C) 2026 GoodData Corporation
|
|
3
|
+
import { useCallback, useMemo } from "react";
|
|
4
|
+
import { useIntl } from "react-intl";
|
|
5
|
+
import { UiAsyncTableFilter, UiIconButton, UiTooltip, } from "@gooddata/sdk-ui-kit";
|
|
6
|
+
import { InsightPickerSortDropdown } from "./InsightPickerSortDropdown.js";
|
|
7
|
+
import { messages } from "./messages.js";
|
|
8
|
+
export function InsightPickerFilterBar({ author, authorFilterOptions, tagFilterOptions, authorsLoaded, tagsLoaded, includeTags, excludeTags, authorFilter, tagFilter, onAuthorFilterChange, onTagFilterChange, sortBy, sortDirection, onSortChange, }) {
|
|
9
|
+
const intl = useIntl();
|
|
10
|
+
const selectedAuthorOptions = useMemo(() => authorFilter.length === 0
|
|
11
|
+
? authorFilterOptions
|
|
12
|
+
: authorFilterOptions.filter((o) => authorFilter.includes(o.value)), [authorFilterOptions, authorFilter]);
|
|
13
|
+
const scopedTagOptions = useMemo(() => {
|
|
14
|
+
let opts = tagFilterOptions;
|
|
15
|
+
if (includeTags?.length) {
|
|
16
|
+
opts = opts.filter((o) => includeTags.includes(o.value));
|
|
17
|
+
}
|
|
18
|
+
if (excludeTags?.length) {
|
|
19
|
+
opts = opts.filter((o) => !excludeTags.includes(o.value));
|
|
20
|
+
}
|
|
21
|
+
return opts;
|
|
22
|
+
}, [tagFilterOptions, includeTags, excludeTags]);
|
|
23
|
+
const selectedTagOptions = useMemo(() => tagFilter.length === 0
|
|
24
|
+
? scopedTagOptions
|
|
25
|
+
: scopedTagOptions.filter((o) => tagFilter.includes(o.value)), [scopedTagOptions, tagFilter]);
|
|
26
|
+
const authorChipTooltip = useMemo(() => selectedAuthorOptions.map((o) => o.label).join(", "), [selectedAuthorOptions]);
|
|
27
|
+
const tagChipTooltip = useMemo(() => selectedTagOptions.map((o) => o.label).join(", "), [selectedTagOptions]);
|
|
28
|
+
const handleAuthorChipApply = useCallback((options) => onAuthorFilterChange(options.map((o) => o.value)), [onAuthorFilterChange]);
|
|
29
|
+
const handleAuthorChipReset = useCallback(() => onAuthorFilterChange([]), [onAuthorFilterChange]);
|
|
30
|
+
const handleTagChipApply = useCallback((options) => onTagFilterChange(options.map((o) => o.value)), [onTagFilterChange]);
|
|
31
|
+
const handleTagChipReset = useCallback(() => onTagFilterChange([]), [onTagFilterChange]);
|
|
32
|
+
// Reset button: back to defaults (author = [current user], tags = [])
|
|
33
|
+
const isAuthorDefault = author
|
|
34
|
+
? authorFilter.length === 1 && authorFilter[0] === author
|
|
35
|
+
: authorFilter.length === 0;
|
|
36
|
+
const hasActiveFilters = !isAuthorDefault || tagFilter.length > 0;
|
|
37
|
+
const handleResetAllFilters = useCallback(() => {
|
|
38
|
+
onAuthorFilterChange(author ? [author] : []);
|
|
39
|
+
onTagFilterChange([]);
|
|
40
|
+
}, [author, onAuthorFilterChange, onTagFilterChange]);
|
|
41
|
+
const resetFiltersLabel = intl.formatMessage(messages.resetFilters);
|
|
42
|
+
return (_jsxs("div", { className: "gd-ui-ext-insight-picker-filter-bar", children: [
|
|
43
|
+
_jsxs("div", { className: "gd-ui-ext-insight-picker-filter-bar-filters", children: [author && authorsLoaded ? (_jsx("span", { title: authorChipTooltip, children: _jsx(UiAsyncTableFilter, { label: intl.formatMessage(messages.filterCreatedBy), options: authorFilterOptions, selected: selectedAuthorOptions, onItemsSelect: handleAuthorChipApply, isMultiSelect: true, onChipReset: authorFilter.length > 0 ? handleAuthorChipReset : undefined }) })) : null, tagsLoaded ? (_jsx("span", { title: tagChipTooltip, children: _jsx(UiAsyncTableFilter, { label: intl.formatMessage(messages.filterTag), options: scopedTagOptions, selected: selectedTagOptions, onItemsSelect: handleTagChipApply, isMultiSelect: true, onChipReset: tagFilter.length > 0 ? handleTagChipReset : undefined }) })) : null, hasActiveFilters ? (_jsx(UiTooltip, { triggerBy: ["hover", "focus"], anchor: _jsx(UiIconButton, { icon: "history", variant: "tertiary", size: "small", label: resetFiltersLabel, onClick: handleResetAllFilters, dataTestId: "s-insight-picker-reset-filters" }), content: resetFiltersLabel })) : null] }), _jsx(InsightPickerSortDropdown, { sortBy: sortBy, sortDirection: sortDirection, onSortChange: onSortChange })
|
|
44
|
+
] }));
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=InsightPickerFilterBar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InsightPickerFilterBar.js","sourceRoot":"","sources":["../../src/insightPicker/InsightPickerFilterBar.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { type ReactNode } from "react";
|
|
2
|
+
import { type IInsightPickerItem, type IInsightPickerMenuAction, type IInsightPickerMenuProps } from "./types.js";
|
|
3
|
+
interface IInsightPickerMenuComponentProps {
|
|
4
|
+
item: IInsightPickerItem;
|
|
5
|
+
menuActions?: IInsightPickerMenuAction[];
|
|
6
|
+
renderMenu?: (props: IInsightPickerMenuProps) => ReactNode;
|
|
7
|
+
}
|
|
8
|
+
export declare function InsightPickerMenu({ item, menuActions, renderMenu }: IInsightPickerMenuComponentProps): import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
export {};
|
|
10
|
+
//# sourceMappingURL=InsightPickerMenu.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InsightPickerMenu.d.ts","sourceRoot":"","sources":["../../src/insightPicker/InsightPickerMenu.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAY,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAOjD,OAAO,EACH,KAAK,kBAAkB,EACvB,KAAK,wBAAwB,EAC7B,KAAK,uBAAuB,EAC/B,MAAM,YAAY,CAAC;AAEpB,UAAU,gCAAgC;IACtC,IAAI,EAAE,kBAAkB,CAAC;IACzB,WAAW,CAAC,EAAE,wBAAwB,EAAE,CAAC;IACzC,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,uBAAuB,KAAK,SAAS,CAAC;CAC9D;AAED,wBAAgB,iBAAiB,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,EAAE,gCAAgC,2CAoDpG"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
// (C) 2026 GoodData Corporation
|
|
3
|
+
import { Fragment } from "react";
|
|
4
|
+
import { useIntl } from "react-intl";
|
|
5
|
+
import { Dropdown, ItemsWrapper, SingleSelectListItem, UiIconButton } from "@gooddata/sdk-ui-kit";
|
|
6
|
+
import { messages } from "./messages.js";
|
|
7
|
+
export function InsightPickerMenu({ item, menuActions, renderMenu }) {
|
|
8
|
+
const intl = useIntl();
|
|
9
|
+
return (_jsx(Dropdown, { alignPoints: [{ align: "br tr" }, { align: "tr br" }], renderButton: ({ toggleDropdown, isOpen }) => (_jsx(UiIconButton, { icon: "ellipsis", label: intl.formatMessage(messages.menuActions), size: "xlarge", variant: "table", isActive: isOpen, dataId: "menu-button", onClick: toggleDropdown })), renderBody: ({ closeDropdown }) => {
|
|
10
|
+
if (renderMenu) {
|
|
11
|
+
return renderMenu({ item, closeMenu: closeDropdown });
|
|
12
|
+
}
|
|
13
|
+
return (_jsx(ItemsWrapper, { smallItemsSpacing: true, children: menuActions?.map((action) => (_jsxs(Fragment, { children: [action.hasSeparator ? (_jsx(SingleSelectListItem, { type: "separator", accessibilityConfig: { role: "separator" } })) : null, _jsx(SingleSelectListItem, { className: action.isDestructive
|
|
14
|
+
? "gd-ui-ext-insight-picker-menu-destructive"
|
|
15
|
+
: undefined, title: action.title, onClick: () => {
|
|
16
|
+
closeDropdown();
|
|
17
|
+
action.onClick(item);
|
|
18
|
+
}, elementType: "button", accessibilityConfig: { role: "menuitem" } })
|
|
19
|
+
] }, action.id))) }));
|
|
20
|
+
} }));
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=InsightPickerMenu.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InsightPickerMenu.js","sourceRoot":"","sources":["../../src/insightPicker/InsightPickerMenu.tsx"],"names":[],"mappings":";AAAA,gCAAgC;AAEhC,OAAO,EAAE,QAAQ,EAAkB,MAAM,OAAO,CAAC;AAEjD,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAElG,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAazC,MAAM,UAAU,iBAAiB,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAoC,EAAE;IACnG,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IACvB,OAAO,CACH,KAAC,QAAQ,IACL,WAAW,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EACrD,YAAY,EAAE,CAAC,EAAE,cAAc,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAC1C,KAAC,YAAY,IACT,IAAI,EAAC,UAAU,EACf,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,WAAW,CAAC,EAC/C,IAAI,EAAC,QAAQ,EACb,OAAO,EAAC,OAAO,EACf,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAC,aAAa,EACpB,OAAO,EAAE,cAAc,GACzB,CACL,EACD,UAAU,EAAE,CAAC,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC;YAC/B,IAAI,UAAU,EAAE,CAAC;gBACb,OAAO,UAAU,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC,CAAC;YAC1D,CAAC;YAED,OAAO,CACH,KAAC,YAAY,IAAC,iBAAiB,kBAC1B,WAAW,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAC1B,MAAC,QAAQ,eACJ,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CACnB,KAAC,oBAAoB,IACjB,IAAI,EAAC,WAAW,EAChB,mBAAmB,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,GAC5C,CACL,CAAC,CAAC,CAAC,IAAI,EACR,KAAC,oBAAoB,IACjB,SAAS,EACL,MAAM,CAAC,aAAa;gCAChB,CAAC,CAAC,2CAA2C;gCAC7C,CAAC,CAAC,SAAS,EAEnB,KAAK,EAAE,MAAM,CAAC,KAAK,EACnB,OAAO,EAAE,GAAG,EAAE,CAAC;gCACX,aAAa,EAAE,CAAC;gCAChB,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;4BAAA,CACxB,EACD,WAAW,EAAC,QAAQ,EACpB,mBAAmB,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,GAC3C;yBApBS,MAAM,CAAC,EAAE,CAqBb,CACd,CAAC,GACS,CAClB,CAAC;QAAA,CACL,GACH,CACL,CAAC;AAAA,CACL"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { type IInsightPickerItem, type IInsightPickerProps } from "./types.js";
|
|
2
|
+
interface IInsightPickerRowProps {
|
|
3
|
+
entry: IInsightPickerItem;
|
|
4
|
+
type: string;
|
|
5
|
+
width: number;
|
|
6
|
+
isSelected: boolean;
|
|
7
|
+
hasMenu: boolean;
|
|
8
|
+
enableDescriptions?: boolean;
|
|
9
|
+
metadataTimeZone?: string;
|
|
10
|
+
menuActions?: IInsightPickerProps["menuActions"];
|
|
11
|
+
renderMenu?: IInsightPickerProps["renderMenu"];
|
|
12
|
+
onItemClick: (entry: IInsightPickerItem) => void;
|
|
13
|
+
onDescriptionPanelOpen?: (description: string) => void;
|
|
14
|
+
}
|
|
15
|
+
export declare function InsightPickerRow({ entry, type, width, isSelected, hasMenu, enableDescriptions, metadataTimeZone, menuActions, renderMenu, onItemClick, onDescriptionPanelOpen }: IInsightPickerRowProps): import("react/jsx-runtime").JSX.Element;
|
|
16
|
+
export {};
|
|
17
|
+
//# sourceMappingURL=InsightPickerRow.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InsightPickerRow.d.ts","sourceRoot":"","sources":["../../src/insightPicker/InsightPickerRow.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,kBAAkB,EAAE,KAAK,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAE/E,UAAU,sBAAsB;IAC5B,KAAK,EAAE,kBAAkB,CAAC;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,OAAO,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,mBAAmB,CAAC,aAAa,CAAC,CAAC;IACjD,UAAU,CAAC,EAAE,mBAAmB,CAAC,YAAY,CAAC,CAAC;IAC/C,WAAW,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,CAAC;IACjD,sBAAsB,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;CAC1D;AAED,wBAAgB,gBAAgB,CAAC,EAC7B,KAAK,EACL,IAAI,EACJ,KAAK,EACL,UAAU,EACV,OAAO,EACP,kBAAkB,EAClB,gBAAgB,EAChB,WAAW,EACX,UAAU,EACV,WAAW,EACX,sBAAsB,EACzB,EAAE,sBAAsB,2CAwCxB"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
// (C) 2026 GoodData Corporation
|
|
3
|
+
import { useCallback } from "react";
|
|
4
|
+
import { InsightListItem } from "@gooddata/sdk-ui-kit";
|
|
5
|
+
import { InsightPickerMenu } from "./InsightPickerMenu.js";
|
|
6
|
+
export function InsightPickerRow({ entry, type, width, isSelected, hasMenu, enableDescriptions, metadataTimeZone, menuActions, renderMenu, onItemClick, onDescriptionPanelOpen, }) {
|
|
7
|
+
const handleRowClick = useCallback((e) => {
|
|
8
|
+
const target = e.target;
|
|
9
|
+
if (target.closest('[data-id="menu-button"]')) {
|
|
10
|
+
return;
|
|
11
|
+
}
|
|
12
|
+
onItemClick(entry);
|
|
13
|
+
}, [onItemClick, entry]);
|
|
14
|
+
return (_jsxs("div", { className: hasMenu
|
|
15
|
+
? "gd-ui-ext-insight-picker-row gd-ui-ext-insight-picker-row--with-menu"
|
|
16
|
+
: "gd-ui-ext-insight-picker-row", onClick: handleRowClick, children: [
|
|
17
|
+
_jsx(InsightListItem, { title: entry.title, description: entry.description?.trim(), showDescriptionPanel: enableDescriptions, type: type, width: hasMenu ? width - 36 : width, updated: entry.updated ?? entry.created, isLocked: entry.isLocked, isSelected: isSelected, onDescriptionPanelOpen: onDescriptionPanelOpen ? () => onDescriptionPanelOpen(entry.description ?? "") : undefined, metadataTimeZone: metadataTimeZone }), hasMenu ? (_jsx(InsightPickerMenu, { item: entry, menuActions: menuActions, renderMenu: renderMenu })) : null] }));
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=InsightPickerRow.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InsightPickerRow.js","sourceRoot":"","sources":["../../src/insightPicker/InsightPickerRow.tsx"],"names":[],"mappings":";AAAA,gCAAgC;AAEhC,OAAO,EAAmB,WAAW,EAAE,MAAM,OAAO,CAAC;AAErD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAiB3D,MAAM,UAAU,gBAAgB,CAAC,EAC7B,KAAK,EACL,IAAI,EACJ,KAAK,EACL,UAAU,EACV,OAAO,EACP,kBAAkB,EAClB,gBAAgB,EAChB,WAAW,EACX,UAAU,EACV,WAAW,EACX,sBAAsB,GACD,EAAE;IACvB,MAAM,cAAc,GAAG,WAAW,CAC9B,CAAC,CAA6B,EAAE,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,CAAC,CAAC,MAAqB,CAAC;QACvC,IAAI,MAAM,CAAC,OAAO,CAAC,yBAAyB,CAAC,EAAE,CAAC;YAC5C,OAAO;QACX,CAAC;QACD,WAAW,CAAC,KAAK,CAAC,CAAC;IAAA,CACtB,EACD,CAAC,WAAW,EAAE,KAAK,CAAC,CACvB,CAAC;IAEF,OAAO,CACH,eACI,SAAS,EACL,OAAO;YACH,CAAC,CAAC,sEAAsE;YACxE,CAAC,CAAC,8BAA8B,EAExC,OAAO,EAAE,cAAc;YAEvB,KAAC,eAAe,IACZ,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,IAAI,EAAE,EACtC,oBAAoB,EAAE,kBAAkB,EACxC,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,EACnC,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,EACvC,QAAQ,EAAE,KAAK,CAAC,QAAQ,EACxB,UAAU,EAAE,UAAU,EACtB,sBAAsB,EAClB,sBAAsB,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,sBAAsB,CAAC,KAAK,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,EAE9F,gBAAgB,EAAE,gBAAgB,GACpC,EACD,OAAO,CAAC,CAAC,CAAC,CACP,KAAC,iBAAiB,IAAC,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,GAAI,CACvF,CAAC,CAAC,CAAC,IAAI,IACN,CACT,CAAC;AAAA,CACL"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { type InsightPickerSortBy, type InsightPickerSortDirection } from "./types.js";
|
|
2
|
+
interface IInsightPickerSortDropdownProps {
|
|
3
|
+
sortBy: InsightPickerSortBy;
|
|
4
|
+
sortDirection: InsightPickerSortDirection;
|
|
5
|
+
onSortChange: (sortBy: InsightPickerSortBy, sortDirection: InsightPickerSortDirection) => void;
|
|
6
|
+
}
|
|
7
|
+
export declare function InsightPickerSortDropdown({ sortBy, sortDirection, onSortChange }: IInsightPickerSortDropdownProps): import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=InsightPickerSortDropdown.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InsightPickerSortDropdown.d.ts","sourceRoot":"","sources":["../../src/insightPicker/InsightPickerSortDropdown.tsx"],"names":[],"mappings":"AASA,OAAO,EAAE,KAAK,mBAAmB,EAAE,KAAK,0BAA0B,EAAE,MAAM,YAAY,CAAC;AAEvF,UAAU,+BAA+B;IACrC,MAAM,EAAE,mBAAmB,CAAC;IAC5B,aAAa,EAAE,0BAA0B,CAAC;IAC1C,YAAY,EAAE,CAAC,MAAM,EAAE,mBAAmB,EAAE,aAAa,EAAE,0BAA0B,KAAK,IAAI,CAAC;CAClG;AAID,wBAAgB,yBAAyB,CAAC,EACtC,MAAM,EACN,aAAa,EACb,YAAY,EACf,EAAE,+BAA+B,2CA0DjC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
// (C) 2026 GoodData Corporation
|
|
3
|
+
import { useCallback } from "react";
|
|
4
|
+
import { useIntl } from "react-intl";
|
|
5
|
+
import { Dropdown, ItemsWrapper, SingleSelectListItem, UiIcon, UiIconButton } from "@gooddata/sdk-ui-kit";
|
|
6
|
+
import { messages } from "./messages.js";
|
|
7
|
+
const SORT_OPTIONS = ["lastModified", "name"];
|
|
8
|
+
export function InsightPickerSortDropdown({ sortBy, sortDirection, onSortChange, }) {
|
|
9
|
+
const intl = useIntl();
|
|
10
|
+
const sortLabels = {
|
|
11
|
+
lastModified: intl.formatMessage(messages.sortByLastModified),
|
|
12
|
+
name: intl.formatMessage(messages.sortByName),
|
|
13
|
+
};
|
|
14
|
+
const toggleDirection = useCallback(() => {
|
|
15
|
+
onSortChange(sortBy, sortDirection === "desc" ? "asc" : "desc");
|
|
16
|
+
}, [sortBy, sortDirection, onSortChange]);
|
|
17
|
+
return (_jsxs("div", { className: "gd-ui-ext-insight-picker-sort", children: [_jsx(Dropdown, { alignPoints: [{ align: "br tr" }, { align: "tr br" }], renderButton: ({ toggleDropdown }) => (_jsxs("button", { className: "gd-ui-ext-insight-picker-sort-button", onClick: toggleDropdown, children: [
|
|
18
|
+
_jsx("span", { className: "gd-ui-ext-insight-picker-sort-label", children: sortLabels[sortBy] }), _jsx(UiIcon, { type: "navigateDown", size: 10, color: "complementary-6" })
|
|
19
|
+
] })), renderBody: ({ closeDropdown }) => (_jsxs("div", { className: "gd-ui-ext-insight-picker-sort-popup", children: [
|
|
20
|
+
_jsx("div", { className: "gd-ui-ext-insight-picker-sort-header", children: intl.formatMessage(messages.sortByHeader) }), _jsx(ItemsWrapper, { smallItemsSpacing: true, children: SORT_OPTIONS.map((option) => (_jsx(SingleSelectListItem, { title: sortLabels[option], isSelected: sortBy === option, onClick: () => {
|
|
21
|
+
onSortChange(option, sortDirection);
|
|
22
|
+
closeDropdown();
|
|
23
|
+
}, elementType: "button", accessibilityConfig: { role: "menuitem" } }, option))) })
|
|
24
|
+
] })) }), _jsx(UiIconButton, { icon: sortDirection === "desc" ? "arrowDown" : "arrowUp", label: intl.formatMessage(sortDirection === "desc"
|
|
25
|
+
? messages.sortDirectionDescending
|
|
26
|
+
: messages.sortDirectionAscending), size: "small", variant: "tertiary", onClick: toggleDirection })
|
|
27
|
+
] }));
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=InsightPickerSortDropdown.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InsightPickerSortDropdown.js","sourceRoot":"","sources":["../../src/insightPicker/InsightPickerSortDropdown.tsx"],"names":[],"mappings":";AAAA,gCAAgC;AAEhC,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAEpC,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAE1G,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AASzC,MAAM,YAAY,GAA0B,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;AAErE,MAAM,UAAU,yBAAyB,CAAC,EACtC,MAAM,EACN,aAAa,EACb,YAAY,GACkB,EAAE;IAChC,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IAEvB,MAAM,UAAU,GAAwC;QACpD,YAAY,EAAE,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,kBAAkB,CAAC;QAC7D,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,UAAU,CAAC;KAChD,CAAC;IAEF,MAAM,eAAe,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QACtC,YAAY,CAAC,MAAM,EAAE,aAAa,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAAA,CACnE,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,YAAY,CAAC,CAAC,CAAC;IAE1C,OAAO,CACH,eAAK,SAAS,EAAC,+BAA+B,aAC1C,KAAC,QAAQ,IACL,WAAW,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EACrD,YAAY,EAAE,CAAC,EAAE,cAAc,EAAE,EAAE,EAAE,CAAC,CAClC,kBAAQ,SAAS,EAAC,sCAAsC,EAAC,OAAO,EAAE,cAAc;wBAC5E,eAAM,SAAS,EAAC,qCAAqC,YAAE,UAAU,CAAC,MAAM,CAAC,GAAQ,EACjF,KAAC,MAAM,IAAC,IAAI,EAAC,cAAc,EAAC,IAAI,EAAE,EAAE,EAAE,KAAK,EAAC,iBAAiB,GAAG;wBAC3D,CACZ,EACD,UAAU,EAAE,CAAC,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC,CAC/B,eAAK,SAAS,EAAC,qCAAqC;wBAChD,cAAK,SAAS,EAAC,sCAAsC,YAChD,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,YAAY,CAAC,GACxC,EACN,KAAC,YAAY,IAAC,iBAAiB,kBAC1B,YAAY,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAC1B,KAAC,oBAAoB,IAEjB,KAAK,EAAE,UAAU,CAAC,MAAM,CAAC,EACzB,UAAU,EAAE,MAAM,KAAK,MAAM,EAC7B,OAAO,EAAE,GAAG,EAAE,CAAC;oCACX,YAAY,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;oCACpC,aAAa,EAAE,CAAC;gCAAA,CACnB,EACD,WAAW,EAAC,QAAQ,EACpB,mBAAmB,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IARpC,MAAM,CASb,CACL,CAAC,GACS;wBACb,CACT,GACH,EACF,KAAC,YAAY,IACT,IAAI,EAAE,aAAa,KAAK,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,EACxD,KAAK,EAAE,IAAI,CAAC,aAAa,CACrB,aAAa,KAAK,MAAM;oBACpB,CAAC,CAAC,QAAQ,CAAC,uBAAuB;oBAClC,CAAC,CAAC,QAAQ,CAAC,sBAAsB,CACxC,EACD,IAAI,EAAC,OAAO,EACZ,OAAO,EAAC,UAAU,EAClB,OAAO,EAAE,eAAe,GAC1B;YACA,CACT,CAAC;AAAA,CACL"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
export declare const messages: {
|
|
2
|
+
searchPlaceholder: {
|
|
3
|
+
id: string;
|
|
4
|
+
};
|
|
5
|
+
tabAll: {
|
|
6
|
+
id: string;
|
|
7
|
+
};
|
|
8
|
+
tabMy: {
|
|
9
|
+
id: string;
|
|
10
|
+
};
|
|
11
|
+
noInsightsFound: {
|
|
12
|
+
id: string;
|
|
13
|
+
};
|
|
14
|
+
noInsights: {
|
|
15
|
+
id: string;
|
|
16
|
+
};
|
|
17
|
+
sortByHeader: {
|
|
18
|
+
id: string;
|
|
19
|
+
};
|
|
20
|
+
sortByLastModified: {
|
|
21
|
+
id: string;
|
|
22
|
+
};
|
|
23
|
+
sortByName: {
|
|
24
|
+
id: string;
|
|
25
|
+
};
|
|
26
|
+
filters: {
|
|
27
|
+
id: string;
|
|
28
|
+
};
|
|
29
|
+
filterCreatedBy: {
|
|
30
|
+
id: string;
|
|
31
|
+
};
|
|
32
|
+
filterCreatedByMe: {
|
|
33
|
+
id: string;
|
|
34
|
+
};
|
|
35
|
+
filterAll: {
|
|
36
|
+
id: string;
|
|
37
|
+
};
|
|
38
|
+
filterApply: {
|
|
39
|
+
id: string;
|
|
40
|
+
};
|
|
41
|
+
filterCancel: {
|
|
42
|
+
id: string;
|
|
43
|
+
};
|
|
44
|
+
filterTag: {
|
|
45
|
+
id: string;
|
|
46
|
+
};
|
|
47
|
+
sortDirectionAscending: {
|
|
48
|
+
id: string;
|
|
49
|
+
};
|
|
50
|
+
sortDirectionDescending: {
|
|
51
|
+
id: string;
|
|
52
|
+
};
|
|
53
|
+
menuActions: {
|
|
54
|
+
id: string;
|
|
55
|
+
};
|
|
56
|
+
resetFilters: {
|
|
57
|
+
id: string;
|
|
58
|
+
};
|
|
59
|
+
};
|
|
60
|
+
//# sourceMappingURL=messages.d.ts.map
|