@gooddata/sdk-ui-catalog 11.6.0-alpha.3 → 11.6.0-alpha.6
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/AnalyticsCatalog.d.ts +0 -8
- package/esm/AnalyticsCatalog.d.ts.map +1 -1
- package/esm/AnalyticsCatalog.js +1 -1
- package/esm/AnalyticsCatalog.js.map +1 -1
- package/esm/catalog/Catalog.d.ts +1 -4
- package/esm/catalog/Catalog.d.ts.map +1 -1
- package/esm/catalog/Catalog.js +2 -15
- package/esm/catalog/Catalog.js.map +1 -1
- package/esm/header/Header.d.ts +1 -5
- package/esm/header/Header.d.ts.map +1 -1
- package/esm/header/Header.js +3 -3
- package/esm/header/Header.js.map +1 -1
- package/esm/localization/bundles/en-US.json +0 -32
- package/esm/localization/bundles/en-US.localization-bundle.d.ts +0 -8
- package/esm/localization/bundles/en-US.localization-bundle.d.ts.map +1 -1
- package/esm/localization/bundles/en-US.localization-bundle.js +0 -8
- package/esm/localization/bundles/en-US.localization-bundle.js.map +1 -1
- package/esm/quality/QualityContext.d.ts +1 -2
- package/esm/quality/QualityContext.d.ts.map +1 -1
- package/esm/quality/QualityContext.js +0 -19
- package/esm/quality/QualityContext.js.map +1 -1
- package/esm/quality/QualityIcon.d.ts.map +1 -1
- package/esm/quality/QualityIcon.js +9 -5
- package/esm/quality/QualityIcon.js.map +1 -1
- package/esm/quality/QualityIssue.js +2 -2
- package/esm/quality/QualityIssue.js.map +1 -1
- package/esm/quality/QualityScoreCard.d.ts.map +1 -1
- package/esm/quality/QualityScoreCard.js +3 -5
- package/esm/quality/QualityScoreCard.js.map +1 -1
- package/esm/quality/QualityScoreCardScore.d.ts +8 -0
- package/esm/quality/QualityScoreCardScore.d.ts.map +1 -0
- package/esm/quality/QualityScoreCardScore.js +16 -0
- package/esm/quality/QualityScoreCardScore.js.map +1 -0
- package/esm/quality/QualitySeverityIcon.d.ts +11 -0
- package/esm/quality/QualitySeverityIcon.d.ts.map +1 -0
- package/esm/quality/QualitySeverityIcon.js +9 -0
- package/esm/quality/QualitySeverityIcon.js.map +1 -0
- package/esm/quality/index.d.ts +1 -1
- package/esm/quality/index.d.ts.map +1 -1
- package/esm/quality/index.js +1 -1
- package/esm/quality/index.js.map +1 -1
- package/esm/quality/utils.d.ts +5 -0
- package/esm/quality/utils.d.ts.map +1 -0
- package/esm/quality/utils.js +32 -0
- package/esm/quality/utils.js.map +1 -0
- package/esm/sdk-ui-catalog.d.ts +0 -8
- package/package.json +11 -11
- package/styles/css/main.css +6 -88
- package/styles/css/main.css.map +1 -1
- package/styles/scss/main.scss +7 -100
- package/esm/memory/MemoryMain.d.ts +0 -8
- package/esm/memory/MemoryMain.d.ts.map +0 -1
- package/esm/memory/MemoryMain.js +0 -184
- package/esm/memory/MemoryMain.js.map +0 -1
|
@@ -34,14 +34,6 @@ export interface IAnalyticsCatalogProps {
|
|
|
34
34
|
* Handler when closing catalog detail.
|
|
35
35
|
*/
|
|
36
36
|
onCatalogDetailClosed?: () => void;
|
|
37
|
-
/**
|
|
38
|
-
* Initial tab to show. Defaults to "catalog".
|
|
39
|
-
*/
|
|
40
|
-
initialTab?: "catalog" | "memory";
|
|
41
|
-
/**
|
|
42
|
-
* Notify when tab changes.
|
|
43
|
-
*/
|
|
44
|
-
onTabChange?: (tabId: "catalog" | "memory") => void;
|
|
45
37
|
}
|
|
46
38
|
/**
|
|
47
39
|
* @internal
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AnalyticsCatalog.d.ts","sourceRoot":"","sources":["../src/AnalyticsCatalog.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAExC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAKpE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAC;AAChF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAS9D;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACnC;;OAEG;IACH,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAC7B;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,kBAAkB,CAAC,EAAE,eAAe,CAAC;IAErC;;OAEG;IACH,sBAAsB,CAAC,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,cAAc,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAEnF;;OAEG;IACH,qBAAqB,CAAC,EAAE,CAAC,GAAG,EAAE,eAAe,KAAK,IAAI,CAAC;IAEvD;;OAEG;IACH,qBAAqB,CAAC,EAAE,MAAM,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"AnalyticsCatalog.d.ts","sourceRoot":"","sources":["../src/AnalyticsCatalog.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAExC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAKpE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAC;AAChF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAS9D;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACnC;;OAEG;IACH,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAC7B;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,kBAAkB,CAAC,EAAE,eAAe,CAAC;IAErC;;OAEG;IACH,sBAAsB,CAAC,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,cAAc,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAEnF;;OAEG;IACH,qBAAqB,CAAC,EAAE,CAAC,GAAG,EAAE,eAAe,KAAK,IAAI,CAAC;IAEvD;;OAEG;IACH,qBAAqB,CAAC,EAAE,MAAM,IAAI,CAAC;CACtC;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,sBAAsB,2CAiC7D"}
|
package/esm/AnalyticsCatalog.js
CHANGED
|
@@ -16,6 +16,6 @@ export function AnalyticsCatalog(props) {
|
|
|
16
16
|
const workspace = useWorkspaceStrict(props.workspace);
|
|
17
17
|
const backend = useBackendStrict(props.backend);
|
|
18
18
|
const permissionsState = usePermissionsQuery({ backend, workspace });
|
|
19
|
-
return (_jsx(IntlWrapper, { locale: props.locale, children: _jsx(ToastsCenterContextProvider, { children: _jsx(OverlayProvider, { children: _jsx(PermissionsProvider, { permissionsState: permissionsState, children: _jsx(FilterProvider, { children: _jsx(SearchProvider, { children: _jsx(FullTextSearchProvider, { children: _jsx(ObjectTypeProvider, { children: _jsx(QualityProvider, { backend: backend, workspace: workspace, children: _jsx(Catalog, { backend: backend, workspace: workspace, openCatalogItemRef: props.openCatalogItemRef, onCatalogItemOpenClick: props.onCatalogItemOpenClick, onCatalogDetailOpened: props.onCatalogDetailOpened, onCatalogDetailClosed: props.onCatalogDetailClosed
|
|
19
|
+
return (_jsx(IntlWrapper, { locale: props.locale, children: _jsx(ToastsCenterContextProvider, { children: _jsx(OverlayProvider, { children: _jsx(PermissionsProvider, { permissionsState: permissionsState, children: _jsx(FilterProvider, { children: _jsx(SearchProvider, { children: _jsx(FullTextSearchProvider, { children: _jsx(ObjectTypeProvider, { children: _jsx(QualityProvider, { backend: backend, workspace: workspace, children: _jsx(Catalog, { backend: backend, workspace: workspace, openCatalogItemRef: props.openCatalogItemRef, onCatalogItemOpenClick: props.onCatalogItemOpenClick, onCatalogDetailOpened: props.onCatalogDetailOpened, onCatalogDetailClosed: props.onCatalogDetailClosed }) }) }) }) }) }) }) }) }) }));
|
|
20
20
|
}
|
|
21
21
|
//# sourceMappingURL=AnalyticsCatalog.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AnalyticsCatalog.js","sourceRoot":"","sources":["../src/AnalyticsCatalog.tsx"],"names":[],"mappings":";AAKA,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACxE,OAAO,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;AAEnE,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAG/C,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACjF,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"AnalyticsCatalog.js","sourceRoot":"","sources":["../src/AnalyticsCatalog.tsx"],"names":[],"mappings":";AAKA,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACxE,OAAO,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;AAEnE,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAG/C,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACjF,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAwC3E;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAA6B;IAC1D,MAAM,SAAS,GAAG,kBAAkB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IACtD,MAAM,OAAO,GAAG,gBAAgB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAChD,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;IAErE,OAAO,CACH,KAAC,WAAW,IAAC,MAAM,EAAE,KAAK,CAAC,MAAM,YAC7B,KAAC,2BAA2B,cACxB,KAAC,eAAe,cACZ,KAAC,mBAAmB,IAAC,gBAAgB,EAAE,gBAAgB,YACnD,KAAC,cAAc,cACX,KAAC,cAAc,cACX,KAAC,sBAAsB,cACnB,KAAC,kBAAkB,cACf,KAAC,eAAe,IAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,YACnD,KAAC,OAAO,IACJ,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,SAAS,EACpB,kBAAkB,EAAE,KAAK,CAAC,kBAAkB,EAC5C,sBAAsB,EAAE,KAAK,CAAC,sBAAsB,EACpD,qBAAqB,EAAE,KAAK,CAAC,qBAAqB,EAClD,qBAAqB,EAAE,KAAK,CAAC,qBAAqB,GACpD,GACY,GACD,GACA,GACZ,GACJ,GACC,GACR,GACQ,GACpB,CACjB,CAAC;AACN,CAAC"}
|
package/esm/catalog/Catalog.d.ts
CHANGED
|
@@ -2,7 +2,6 @@ import { type MouseEvent } from "react";
|
|
|
2
2
|
import type { IAnalyticalBackend } from "@gooddata/sdk-backend-spi";
|
|
3
3
|
import type { OpenHandlerEvent } from "../catalogDetail/CatalogDetailContent.js";
|
|
4
4
|
import type { ICatalogItemRef } from "../catalogItem/index.js";
|
|
5
|
-
type TabId = "catalog" | "memory";
|
|
6
5
|
type Props = {
|
|
7
6
|
backend: IAnalyticalBackend;
|
|
8
7
|
workspace: string;
|
|
@@ -10,9 +9,7 @@ type Props = {
|
|
|
10
9
|
onCatalogItemOpenClick?: (e: MouseEvent, linkClickEvent: OpenHandlerEvent) => void;
|
|
11
10
|
onCatalogDetailOpened?: (ref: ICatalogItemRef) => void;
|
|
12
11
|
onCatalogDetailClosed?: () => void;
|
|
13
|
-
initialTab?: TabId;
|
|
14
|
-
onTabChange?: (tabId: TabId) => void;
|
|
15
12
|
};
|
|
16
|
-
export declare function Catalog({ openCatalogItemRef, backend, workspace, onCatalogItemOpenClick, onCatalogDetailOpened, onCatalogDetailClosed,
|
|
13
|
+
export declare function Catalog({ openCatalogItemRef, backend, workspace, onCatalogItemOpenClick, onCatalogDetailOpened, onCatalogDetailClosed, }: Props): import("react/jsx-runtime").JSX.Element;
|
|
17
14
|
export {};
|
|
18
15
|
//# sourceMappingURL=Catalog.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Catalog.d.ts","sourceRoot":"","sources":["../../src/catalog/Catalog.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,UAAU,
|
|
1
|
+
{"version":3,"file":"Catalog.d.ts","sourceRoot":"","sources":["../../src/catalog/Catalog.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,OAAO,CAAC;AAIxC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAKpE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AACjF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAO/D,KAAK,KAAK,GAAG;IACT,OAAO,EAAE,kBAAkB,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,kBAAkB,CAAC,EAAE,eAAe,CAAC;IACrC,sBAAsB,CAAC,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,cAAc,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACnF,qBAAqB,CAAC,EAAE,CAAC,GAAG,EAAE,eAAe,KAAK,IAAI,CAAC;IACvD,qBAAqB,CAAC,EAAE,MAAM,IAAI,CAAC;CACtC,CAAC;AAEF,wBAAgB,OAAO,CAAC,EACpB,kBAAkB,EAClB,OAAO,EACP,SAAS,EACT,sBAAsB,EACtB,qBAAqB,EACrB,qBAAqB,GACxB,EAAE,KAAK,2CAuCP"}
|
package/esm/catalog/Catalog.js
CHANGED
|
@@ -1,33 +1,20 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
// (C) 2025 GoodData Corporation
|
|
3
|
-
import { useState } from "react";
|
|
4
2
|
import { useIntl } from "react-intl";
|
|
5
3
|
import { ErrorComponent } from "@gooddata/sdk-ui";
|
|
6
4
|
import { LoadingMask } from "@gooddata/sdk-ui-kit";
|
|
7
5
|
import { Layout } from "./Layout.js";
|
|
8
6
|
import { Header } from "../header/Header.js";
|
|
9
7
|
import { Main } from "../main/Main.js";
|
|
10
|
-
import { MemoryMain } from "../memory/MemoryMain.js";
|
|
11
8
|
import { PermissionsGate, useFeatureFlag } from "../permission/index.js";
|
|
12
9
|
import { QualityScoreCard } from "../quality/QualityScoreCard.js";
|
|
13
10
|
import { FullTextSearch } from "../search/index.js";
|
|
14
|
-
export function Catalog({ openCatalogItemRef, backend, workspace, onCatalogItemOpenClick, onCatalogDetailOpened, onCatalogDetailClosed,
|
|
11
|
+
export function Catalog({ openCatalogItemRef, backend, workspace, onCatalogItemOpenClick, onCatalogDetailOpened, onCatalogDetailClosed, }) {
|
|
15
12
|
const intl = useIntl();
|
|
16
|
-
const isMemoryEnabled = useFeatureFlag("enableGenAIMemory");
|
|
17
13
|
const isQualityEnabled = useFeatureFlag("enableGenAICatalogQualityChecker");
|
|
18
|
-
const tabs = [
|
|
19
|
-
{ id: "catalog", label: intl.formatMessage({ id: "analyticsCatalog.tabs.catalog" }) },
|
|
20
|
-
{ id: "memory", label: intl.formatMessage({ id: "analyticsCatalog.tabs.memory" }) },
|
|
21
|
-
];
|
|
22
|
-
const [selectedTabId, setSelectedTabId] = useState(initialTab);
|
|
23
14
|
return (_jsx(Layout, { children: _jsxs(PermissionsGate, { loadingNode: _jsx(LoadingMask, {}), errorNode: _jsx(ErrorComponent, { message: intl.formatMessage({ id: "analyticsCatalog.error.unknown.message" }), description: intl.formatMessage({
|
|
24
15
|
id: "analyticsCatalog.error.unknown.description",
|
|
25
16
|
}) }), unauthorizedNode: _jsx(ErrorComponent, { message: intl.formatMessage({ id: "analyticsCatalog.error.unauthorized.message" }), description: intl.formatMessage({
|
|
26
17
|
id: "analyticsCatalog.error.unauthorized.description",
|
|
27
|
-
}) }), children: [_jsx(Header, {
|
|
28
|
-
const id = tab.id;
|
|
29
|
-
setSelectedTabId(id);
|
|
30
|
-
onTabChange?.(id);
|
|
31
|
-
}, searchNode: selectedTabId === "catalog" ? _jsx(FullTextSearch, {}) : undefined }), isQualityEnabled ? _jsx(QualityScoreCard, {}) : null, selectedTabId === "catalog" ? (_jsx(Main, { openCatalogItemRef: openCatalogItemRef, workspace: workspace, backend: backend, onCatalogItemOpenClick: onCatalogItemOpenClick, onCatalogDetailOpened: onCatalogDetailOpened, onCatalogDetailClosed: onCatalogDetailClosed })) : (_jsx(MemoryMain, { backend: backend, workspace: workspace }))] }) }));
|
|
18
|
+
}) }), children: [_jsx(Header, { searchNode: _jsx(FullTextSearch, {}) }), isQualityEnabled ? _jsx(QualityScoreCard, {}) : null, _jsx(Main, { openCatalogItemRef: openCatalogItemRef, workspace: workspace, backend: backend, onCatalogItemOpenClick: onCatalogItemOpenClick, onCatalogDetailOpened: onCatalogDetailOpened, onCatalogDetailClosed: onCatalogDetailClosed })] }) }));
|
|
32
19
|
}
|
|
33
20
|
//# sourceMappingURL=Catalog.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Catalog.js","sourceRoot":"","sources":["../../src/catalog/Catalog.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"Catalog.js","sourceRoot":"","sources":["../../src/catalog/Catalog.tsx"],"names":[],"mappings":";AAIA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAGrC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAGrC,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAWpD,MAAM,UAAU,OAAO,CAAC,EACpB,kBAAkB,EAClB,OAAO,EACP,SAAS,EACT,sBAAsB,EACtB,qBAAqB,EACrB,qBAAqB,GACjB;IACJ,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IAEvB,MAAM,gBAAgB,GAAG,cAAc,CAAC,kCAAkC,CAAC,CAAC;IAE5E,OAAO,CACH,KAAC,MAAM,cACH,MAAC,eAAe,IACZ,WAAW,EAAE,KAAC,WAAW,KAAG,EAC5B,SAAS,EACL,KAAC,cAAc,IACX,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,wCAAwC,EAAE,CAAC,EAC7E,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;oBAC5B,EAAE,EAAE,4CAA4C;iBACnD,CAAC,GACJ,EAEN,gBAAgB,EACZ,KAAC,cAAc,IACX,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,6CAA6C,EAAE,CAAC,EAClF,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;oBAC5B,EAAE,EAAE,iDAAiD;iBACxD,CAAC,GACJ,aAGN,KAAC,MAAM,IAAC,UAAU,EAAE,KAAC,cAAc,KAAG,GAAI,EACzC,gBAAgB,CAAC,CAAC,CAAC,KAAC,gBAAgB,KAAG,CAAC,CAAC,CAAC,IAAI,EAC/C,KAAC,IAAI,IACD,kBAAkB,EAAE,kBAAkB,EACtC,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,OAAO,EAChB,sBAAsB,EAAE,sBAAsB,EAC9C,qBAAqB,EAAE,qBAAqB,EAC5C,qBAAqB,EAAE,qBAAqB,GAC9C,IACY,GACb,CACZ,CAAC;AACN,CAAC"}
|
package/esm/header/Header.d.ts
CHANGED
|
@@ -1,11 +1,7 @@
|
|
|
1
1
|
import type { ReactNode } from "react";
|
|
2
|
-
import { type UiTab } from "@gooddata/sdk-ui-kit";
|
|
3
2
|
type Props = {
|
|
4
3
|
searchNode?: ReactNode;
|
|
5
|
-
tabs?: UiTab[];
|
|
6
|
-
selectedTabId?: string;
|
|
7
|
-
onTabSelect?: (tab: UiTab) => void;
|
|
8
4
|
};
|
|
9
|
-
export declare function Header({ searchNode
|
|
5
|
+
export declare function Header({ searchNode }: Props): import("react/jsx-runtime").JSX.Element;
|
|
10
6
|
export {};
|
|
11
7
|
//# sourceMappingURL=Header.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Header.d.ts","sourceRoot":"","sources":["../../src/header/Header.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"Header.d.ts","sourceRoot":"","sources":["../../src/header/Header.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAMvC,KAAK,KAAK,GAAG;IACT,UAAU,CAAC,EAAE,SAAS,CAAC;CAC1B,CAAC;AAEF,wBAAgB,MAAM,CAAC,EAAE,UAAU,EAAE,EAAE,KAAK,2CAmB3C"}
|
package/esm/header/Header.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { FormattedMessage } from "react-intl";
|
|
3
|
-
import { UiIcon,
|
|
4
|
-
export function Header({ searchNode
|
|
5
|
-
return (_jsxs("header", { className: "gd-analytics-catalog__header", children: [_jsx("span", { className: "gd-analytics-catalog__header__title", children: _jsx(FormattedMessage, { id: "analyticsCatalog.title" }) }), _jsx(UiTooltip, { anchor: _jsx(UiIcon, { type: "question", size: 16, color: "complementary-6" }), content: _jsx(FormattedMessage, { id: "analyticsCatalog.tooltip.content" }), arrowPlacement: "left", optimalPlacement: true, offset: 10, width: 300, triggerBy: ["hover", "click"] }), _jsx("div", { className: "gd-analytics-catalog__header__separator" }),
|
|
3
|
+
import { UiIcon, UiTooltip } from "@gooddata/sdk-ui-kit";
|
|
4
|
+
export function Header({ searchNode }) {
|
|
5
|
+
return (_jsxs("header", { className: "gd-analytics-catalog__header", children: [_jsx("span", { className: "gd-analytics-catalog__header__title", children: _jsx(FormattedMessage, { id: "analyticsCatalog.title" }) }), _jsx(UiTooltip, { anchor: _jsx(UiIcon, { type: "question", size: 16, color: "complementary-6" }), content: _jsx(FormattedMessage, { id: "analyticsCatalog.tooltip.content" }), arrowPlacement: "left", optimalPlacement: true, offset: 10, width: 300, triggerBy: ["hover", "click"] }), _jsx("div", { className: "gd-analytics-catalog__header__separator" }), searchNode] }));
|
|
6
6
|
}
|
|
7
7
|
//# sourceMappingURL=Header.js.map
|
package/esm/header/Header.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Header.js","sourceRoot":"","sources":["../../src/header/Header.tsx"],"names":[],"mappings":";AAIA,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE9C,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"Header.js","sourceRoot":"","sources":["../../src/header/Header.tsx"],"names":[],"mappings":";AAIA,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE9C,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAMzD,MAAM,UAAU,MAAM,CAAC,EAAE,UAAU,EAAS;IACxC,OAAO,CACH,kBAAQ,SAAS,EAAC,8BAA8B,aAC5C,eAAM,SAAS,EAAC,qCAAqC,YACjD,KAAC,gBAAgB,IAAC,EAAE,EAAC,wBAAwB,GAAG,GAC7C,EACP,KAAC,SAAS,IACN,MAAM,EAAE,KAAC,MAAM,IAAC,IAAI,EAAC,UAAU,EAAC,IAAI,EAAE,EAAE,EAAE,KAAK,EAAC,iBAAiB,GAAG,EACpE,OAAO,EAAE,KAAC,gBAAgB,IAAC,EAAE,EAAC,kCAAkC,GAAG,EACnE,cAAc,EAAC,MAAM,EACrB,gBAAgB,QAChB,MAAM,EAAE,EAAE,EACV,KAAK,EAAE,GAAG,EACV,SAAS,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,GAC/B,EACF,cAAK,SAAS,EAAC,yCAAyC,GAAG,EAC1D,UAAU,IACN,CACZ,CAAC;AACN,CAAC"}
|
|
@@ -207,38 +207,6 @@
|
|
|
207
207
|
"value": "Search by title or description…",
|
|
208
208
|
"comment": "Accessible label for the search input."
|
|
209
209
|
},
|
|
210
|
-
"analyticsCatalog.tabs.catalog": {
|
|
211
|
-
"value": "Catalog",
|
|
212
|
-
"comment": "Tab label for the main analytics catalog list."
|
|
213
|
-
},
|
|
214
|
-
"analyticsCatalog.tabs.memory": {
|
|
215
|
-
"value": "Memory",
|
|
216
|
-
"comment": "Tab label for the Memory items section."
|
|
217
|
-
},
|
|
218
|
-
"analyticsCatalog.memory.column.instruction.label": {
|
|
219
|
-
"value": "Instruction",
|
|
220
|
-
"comment": "Column header for memory item instruction."
|
|
221
|
-
},
|
|
222
|
-
"analyticsCatalog.memory.column.type.label": {
|
|
223
|
-
"value": "Type",
|
|
224
|
-
"comment": "Column header for memory item type."
|
|
225
|
-
},
|
|
226
|
-
"analyticsCatalog.memory.column.keywords.label": {
|
|
227
|
-
"value": "Keywords",
|
|
228
|
-
"comment": "Column header for memory item keywords."
|
|
229
|
-
},
|
|
230
|
-
"analyticsCatalog.memory.column.actions.label": {
|
|
231
|
-
"value": "Actions",
|
|
232
|
-
"comment": "Column header for memory item actions."
|
|
233
|
-
},
|
|
234
|
-
"analyticsCatalog.memory.empty.title": {
|
|
235
|
-
"value": "No memory items found",
|
|
236
|
-
"comment": "Title shown when memory list is empty."
|
|
237
|
-
},
|
|
238
|
-
"analyticsCatalog.memory.empty.description": {
|
|
239
|
-
"value": "Create your first memory item to get started.",
|
|
240
|
-
"comment": "Description shown when memory list is empty."
|
|
241
|
-
},
|
|
242
210
|
"analyticsCatalog.empty.search.title": {
|
|
243
211
|
"value": "No match found",
|
|
244
212
|
"comment": "Title of the empty state when search input is filled."
|
|
@@ -51,14 +51,6 @@ export declare const en_US: {
|
|
|
51
51
|
"analyticsCatalog.catalogItem.lock": string;
|
|
52
52
|
"analyticsCatalog.tooltip.content": string;
|
|
53
53
|
"analyticsCatalog.search.label": string;
|
|
54
|
-
"analyticsCatalog.tabs.catalog": string;
|
|
55
|
-
"analyticsCatalog.tabs.memory": string;
|
|
56
|
-
"analyticsCatalog.memory.column.instruction.label": string;
|
|
57
|
-
"analyticsCatalog.memory.column.type.label": string;
|
|
58
|
-
"analyticsCatalog.memory.column.keywords.label": string;
|
|
59
|
-
"analyticsCatalog.memory.column.actions.label": string;
|
|
60
|
-
"analyticsCatalog.memory.empty.title": string;
|
|
61
|
-
"analyticsCatalog.memory.empty.description": string;
|
|
62
54
|
"analyticsCatalog.empty.search.title": string;
|
|
63
55
|
"analyticsCatalog.empty.search.description": string;
|
|
64
56
|
"analyticsCatalog.empty.filters.title": string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"en-US.localization-bundle.d.ts","sourceRoot":"","sources":["../../../src/localization/bundles/en-US.localization-bundle.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,KAAK
|
|
1
|
+
{"version":3,"file":"en-US.localization-bundle.d.ts","sourceRoot":"","sources":["../../../src/localization/bundles/en-US.localization-bundle.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2EjB,CAAC"}
|
|
@@ -53,14 +53,6 @@ export const en_US = {
|
|
|
53
53
|
"analyticsCatalog.catalogItem.lock": "You can’t edit or delete this catalog item — it was created in the parent workspace. To make changes, open the parent workspace.",
|
|
54
54
|
"analyticsCatalog.tooltip.content": "Centralized catalog of dashboards, metrics, visualizations, facts, and attributes. Explore, manage, and update all objects in one place to support consistent governance, quicker insights, and improved collaboration.",
|
|
55
55
|
"analyticsCatalog.search.label": "Search by title or description…",
|
|
56
|
-
"analyticsCatalog.tabs.catalog": "Catalog",
|
|
57
|
-
"analyticsCatalog.tabs.memory": "Memory",
|
|
58
|
-
"analyticsCatalog.memory.column.instruction.label": "Instruction",
|
|
59
|
-
"analyticsCatalog.memory.column.type.label": "Type",
|
|
60
|
-
"analyticsCatalog.memory.column.keywords.label": "Keywords",
|
|
61
|
-
"analyticsCatalog.memory.column.actions.label": "Actions",
|
|
62
|
-
"analyticsCatalog.memory.empty.title": "No memory items found",
|
|
63
|
-
"analyticsCatalog.memory.empty.description": "Create your first memory item to get started.",
|
|
64
56
|
"analyticsCatalog.empty.search.title": "No match found",
|
|
65
57
|
"analyticsCatalog.empty.search.description": "Check the spelling or adjust filters.",
|
|
66
58
|
"analyticsCatalog.empty.filters.title": "No match found",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"en-US.localization-bundle.js","sourceRoot":"","sources":["../../../src/localization/bundles/en-US.localization-bundle.ts"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,6DAA6D;AAC7D,MAAM,CAAC,MAAM,KAAK,GAAG;IACjB,wBAAwB,EAAE,mBAAmB;IAC7C,2BAA2B,EAAE,WAAW;IACxC,2BAA2B,EAAE,WAAW;IACxC,mCAAmC,EAAE,cAAc;IACnD,wDAAwD,EAAE,oBAAoB;IAC9E,4DAA4D,EAAE,wBAAwB;IACtF,qDAAqD,EAAE,iBAAiB;IACxE,mDAAmD,EAAE,eAAe;IACpE,wDAAwD,EAAE,oBAAoB;IAC9E,iCAAiC,EAAE,SAAS;IAC5C,yCAAyC,EAAE,YAAY;IACvD,6CAA6C,EAAE,uBAAuB;IACtE,oCAAoC,EAAE,MAAM;IAC5C,wCAAwC,EAAE,mBAAmB;IAC7D,sCAAsC,EAAE,QAAQ;IAChD,wCAAwC,EAAE,QAAQ;IAClD,uCAAuC,EAAE,mBAAmB;IAC5D,4CAA4C,EAAE,aAAa;IAC3D,gDAAgD,EAAE,0BAA0B;IAC5E,qCAAqC,EAAE,OAAO;IAC9C,uCAAuC,EAAE,SAAS;IAClD,yCAAyC,EAAE,YAAY;IACvD,yCAAyC,EAAE,YAAY;IACvD,oCAAoC,EAAE,MAAM;IAC5C,yCAAyC,EAAE,kBAAkB;IAC7D,yCAAyC,EAAE,kBAAkB;IAC7D,0CAA0C,EAAE,WAAW;IACvD,4CAA4C,EAAE,SAAS;IACvD,2CAA2C,EAAE,OAAO;IACpD,8CAA8C,EAAE,SAAS;IACzD,+CAA+C,EAAE,MAAM;IACvD,iDAAiD,EAAE,QAAQ;IAC3D,+CAA+C,EAAE,MAAM;IACvD,iDAAiD,EAAE,QAAQ;IAC3D,wCAAwC,EAAE,eAAe;IACzD,4CAA4C,EAAE,+DAA+D;IAC7G,6CAA6C,EAAE,cAAc;IAC7D,iDAAiD,EAAE,wGAAwG;IAC3J,+CAA+C,EAAE,OAAO;IACxD,2CAA2C,EAAE,sBAAsB;IACnE,wCAAwC,EAAE,YAAY;IACtD,0CAA0C,EAAE,aAAa;IACzD,8CAA8C,EAAE,kBAAkB;IAClE,4CAA4C,EAAE,iDAAiD;IAC/F,iCAAiC,EAAE,IAAI;IACvC,mCAAmC,EAAE,MAAM;IAC3C,0CAA0C,EAAE,SAAS;IACrD,0CAA0C,EAAE,qBAAqB;IACjE,gDAAgD,EAAE,6BAA6B;IAC/E,mCAAmC,EAAE,kIAAkI;IACvK,kCAAkC,EAAE,yNAAyN;IAC7P,+BAA+B,EAAE,iCAAiC;IAClE
|
|
1
|
+
{"version":3,"file":"en-US.localization-bundle.js","sourceRoot":"","sources":["../../../src/localization/bundles/en-US.localization-bundle.ts"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,6DAA6D;AAC7D,MAAM,CAAC,MAAM,KAAK,GAAG;IACjB,wBAAwB,EAAE,mBAAmB;IAC7C,2BAA2B,EAAE,WAAW;IACxC,2BAA2B,EAAE,WAAW;IACxC,mCAAmC,EAAE,cAAc;IACnD,wDAAwD,EAAE,oBAAoB;IAC9E,4DAA4D,EAAE,wBAAwB;IACtF,qDAAqD,EAAE,iBAAiB;IACxE,mDAAmD,EAAE,eAAe;IACpE,wDAAwD,EAAE,oBAAoB;IAC9E,iCAAiC,EAAE,SAAS;IAC5C,yCAAyC,EAAE,YAAY;IACvD,6CAA6C,EAAE,uBAAuB;IACtE,oCAAoC,EAAE,MAAM;IAC5C,wCAAwC,EAAE,mBAAmB;IAC7D,sCAAsC,EAAE,QAAQ;IAChD,wCAAwC,EAAE,QAAQ;IAClD,uCAAuC,EAAE,mBAAmB;IAC5D,4CAA4C,EAAE,aAAa;IAC3D,gDAAgD,EAAE,0BAA0B;IAC5E,qCAAqC,EAAE,OAAO;IAC9C,uCAAuC,EAAE,SAAS;IAClD,yCAAyC,EAAE,YAAY;IACvD,yCAAyC,EAAE,YAAY;IACvD,oCAAoC,EAAE,MAAM;IAC5C,yCAAyC,EAAE,kBAAkB;IAC7D,yCAAyC,EAAE,kBAAkB;IAC7D,0CAA0C,EAAE,WAAW;IACvD,4CAA4C,EAAE,SAAS;IACvD,2CAA2C,EAAE,OAAO;IACpD,8CAA8C,EAAE,SAAS;IACzD,+CAA+C,EAAE,MAAM;IACvD,iDAAiD,EAAE,QAAQ;IAC3D,+CAA+C,EAAE,MAAM;IACvD,iDAAiD,EAAE,QAAQ;IAC3D,wCAAwC,EAAE,eAAe;IACzD,4CAA4C,EAAE,+DAA+D;IAC7G,6CAA6C,EAAE,cAAc;IAC7D,iDAAiD,EAAE,wGAAwG;IAC3J,+CAA+C,EAAE,OAAO;IACxD,2CAA2C,EAAE,sBAAsB;IACnE,wCAAwC,EAAE,YAAY;IACtD,0CAA0C,EAAE,aAAa;IACzD,8CAA8C,EAAE,kBAAkB;IAClE,4CAA4C,EAAE,iDAAiD;IAC/F,iCAAiC,EAAE,IAAI;IACvC,mCAAmC,EAAE,MAAM;IAC3C,0CAA0C,EAAE,SAAS;IACrD,0CAA0C,EAAE,qBAAqB;IACjE,gDAAgD,EAAE,6BAA6B;IAC/E,mCAAmC,EAAE,kIAAkI;IACvK,kCAAkC,EAAE,yNAAyN;IAC7P,+BAA+B,EAAE,iCAAiC;IAClE,qCAAqC,EAAE,gBAAgB;IACvD,2CAA2C,EAAE,uCAAuC;IACpF,sCAAsC,EAAE,gBAAgB;IACxD,4CAA4C,EAAE,mDAAmD;IACjG,wCAAwC,EAAE,6DAA6D;IACvG,iDAAiD,EAAE,kFAAkF;IACrI,uDAAuD,EAAE,wFAAwF;IACjJ,+CAA+C,EAAE,iFAAiF;IAClI,qDAAqD,EAAE,uFAAuF;IAC9I,sDAAsD,EAAE,2HAA2H;IACnL,+CAA+C,EAAE,iBAAiB;IAClE,qDAAqD,EAAE,uBAAuB;IAC9E,6CAA6C,EAAE,eAAe;IAC9D,mDAAmD,EAAE,qBAAqB;IAC1E,oDAAoD,EAAE,sBAAsB;IAC5E,qDAAqD,EAAE,+EAA+E;IACtI,2DAA2D,EAAE,qFAAqF;IAClJ,mDAAmD,EAAE,oGAAoG;IACzJ,yDAAyD,EAAE,oGAAoG;IAC/J,0DAA0D,EAAE,wHAAwH;IACpL,0CAA0C,EAAE,kBAAkB;IAC9D,6CAA6C,EAAE,WAAW;CAC7D,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type PropsWithChildren } from "react";
|
|
2
2
|
import type { IAnalyticalBackend } from "@gooddata/sdk-backend-spi";
|
|
3
|
-
import type { ISemanticQualityIssue, Identifier
|
|
3
|
+
import type { ISemanticQualityIssue, Identifier } from "@gooddata/sdk-model";
|
|
4
4
|
import { type UseCancelablePromiseStatus } from "@gooddata/sdk-ui";
|
|
5
5
|
interface IQualityState {
|
|
6
6
|
qualityIssues: {
|
|
@@ -25,6 +25,5 @@ export declare function useQualityIssuesState(): IQualityState["qualityIssues"];
|
|
|
25
25
|
export declare function useQualityActions(): IQualityActions;
|
|
26
26
|
export declare function useQualityIssuesMap(): Map<Identifier, ISemanticQualityIssue[]>;
|
|
27
27
|
export declare function useQualityIssuesById(id: Identifier): ISemanticQualityIssue[] | undefined;
|
|
28
|
-
export declare function useQualityIssuesMapGroupedByCode(id: Identifier): Map<SemanticQualityIssueCode, ISemanticQualityIssue[]> | undefined;
|
|
29
28
|
export {};
|
|
30
29
|
//# sourceMappingURL=QualityContext.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QualityContext.d.ts","sourceRoot":"","sources":["../../src/quality/QualityContext.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,iBAAiB,EAA6D,MAAM,OAAO,CAAC;AAE1G,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,KAAK,EAAE,qBAAqB,EAAE,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"QualityContext.d.ts","sourceRoot":"","sources":["../../src/quality/QualityContext.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,iBAAiB,EAA6D,MAAM,OAAO,CAAC;AAE1G,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,KAAK,EAAE,qBAAqB,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7E,OAAO,EAAE,KAAK,0BAA0B,EAAwB,MAAM,kBAAkB,CAAC;AAKzF,UAAU,aAAa;IACnB,aAAa,EAAE;QACX,MAAM,EAAE,0BAA0B,CAAC;QACnC,MAAM,EAAE,qBAAqB,EAAE,CAAC;KACnC,CAAC;IACF,wBAAwB,EAAE;QACtB,MAAM,EAAE,0BAA0B,CAAC;KACtC,CAAC;CACL;AAED,UAAU,eAAe;IACrB,kBAAkB,EAAE,MAAM,IAAI,CAAC;IAC/B,8BAA8B,EAAE,MAAM,IAAI,CAAC;CAC9C;AAmBD,KAAK,KAAK,GAAG,iBAAiB,CAAC;IAC3B,OAAO,EAAE,kBAAkB,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC;CACrB,CAAC,CAAC;AAEH,wBAAgB,eAAe,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,KAAK,2CAgEtE;AAED,wBAAgB,eAAe,IAAI,aAAa,CAE/C;AAED,wBAAgB,qBAAqB,IAAI,aAAa,CAAC,eAAe,CAAC,CAEtE;AAED,wBAAgB,iBAAiB,IAAI,eAAe,CAEnD;AAED,wBAAgB,mBAAmB,IAAI,GAAG,CAAC,UAAU,EAAE,qBAAqB,EAAE,CAAC,CAmB9E;AAED,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,UAAU,GAAG,qBAAqB,EAAE,GAAG,SAAS,CAGxF"}
|
|
@@ -87,23 +87,4 @@ export function useQualityIssuesById(id) {
|
|
|
87
87
|
const map = useQualityIssuesMap();
|
|
88
88
|
return map.get(id);
|
|
89
89
|
}
|
|
90
|
-
export function useQualityIssuesMapGroupedByCode(id) {
|
|
91
|
-
const issues = useQualityIssuesById(id);
|
|
92
|
-
return useMemo(() => {
|
|
93
|
-
if (!issues?.length) {
|
|
94
|
-
return undefined;
|
|
95
|
-
}
|
|
96
|
-
const groupMap = new Map();
|
|
97
|
-
for (const issue of issues) {
|
|
98
|
-
const existingIssue = groupMap.get(issue.code);
|
|
99
|
-
if (existingIssue) {
|
|
100
|
-
existingIssue.push(issue);
|
|
101
|
-
}
|
|
102
|
-
else {
|
|
103
|
-
groupMap.set(issue.code, [issue]);
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
return groupMap;
|
|
107
|
-
}, [issues]);
|
|
108
|
-
}
|
|
109
90
|
//# sourceMappingURL=QualityContext.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QualityContext.js","sourceRoot":"","sources":["../../src/quality/QualityContext.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"QualityContext.js","sourceRoot":"","sources":["../../src/quality/QualityContext.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QualityIcon.d.ts","sourceRoot":"","sources":["../../src/quality/QualityIcon.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,cAAc,EAAQ,MAAM,OAAO,CAAC;AAGlD,OAAO,EAAE,KAAK,SAAS,EAA0C,MAAM,YAAY,CAAC;AAEpF,OAAO,EACH,KAAK,UAAU,EAGlB,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"QualityIcon.d.ts","sourceRoot":"","sources":["../../src/quality/QualityIcon.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,cAAc,EAAQ,MAAM,OAAO,CAAC;AAGlD,OAAO,EAAE,KAAK,SAAS,EAA0C,MAAM,YAAY,CAAC;AAEpF,OAAO,EACH,KAAK,UAAU,EAGlB,MAAM,qBAAqB,CAAC;AAyB7B,KAAK,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC,GAAG;IACjC,IAAI,EAAE,SAAS,CAAC;IAChB,QAAQ,EAAE,UAAU,CAAC;CACxB,CAAC;AAEF,wBAAgB,WAAW,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,SAAS,EAAE,EAAE,KAAK,kDA2C7E;AAED,eAAO,MAAM,eAAe,yDAAoB,CAAC"}
|
|
@@ -4,8 +4,10 @@ import { memo } from "react";
|
|
|
4
4
|
import cx from "classnames";
|
|
5
5
|
import { defineMessages } from "react-intl";
|
|
6
6
|
import { SemanticQualityIssueCodeValues, } from "@gooddata/sdk-model";
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
7
|
+
import { UiTooltip } from "@gooddata/sdk-ui-kit";
|
|
8
|
+
import { useQualityIssuesById } from "./QualityContext.js";
|
|
9
|
+
import { QualitySeverityIcon } from "./QualitySeverityIcon.js";
|
|
10
|
+
import { getQualityIssuesHighestSeverity, groupQualityIssuesByCode } from "./utils.js";
|
|
9
11
|
const messages = defineMessages({
|
|
10
12
|
[SemanticQualityIssueCodeValues.IDENTICAL_TITLE]: {
|
|
11
13
|
id: "analyticsCatalog.quality.tooltip.identicalTitle",
|
|
@@ -24,11 +26,13 @@ const messages = defineMessages({
|
|
|
24
26
|
},
|
|
25
27
|
});
|
|
26
28
|
export function QualityIcon({ objectId, intl, className, ...htmlProps }) {
|
|
27
|
-
const
|
|
28
|
-
if (!
|
|
29
|
+
const issues = useQualityIssuesById(objectId);
|
|
30
|
+
if (!issues?.length) {
|
|
29
31
|
return null;
|
|
30
32
|
}
|
|
31
|
-
|
|
33
|
+
const codeGroup = groupQualityIssuesByCode(issues);
|
|
34
|
+
const severity = getQualityIssuesHighestSeverity(issues);
|
|
35
|
+
return (_jsx("div", { ...htmlProps, className: cx("gd-analytics-catalog__quality-tooltip", className), children: _jsx(UiTooltip, { arrowPlacement: "left", optimalPlacement: true, triggerBy: ["hover"], anchor: _jsx(QualitySeverityIcon, { severity: severity, size: 14, backgroundSize: 26 }), content: _jsxs("div", { className: "gd-analytics-catalog__quality-tooltip__content", children: [_jsx("div", { children: intl.formatMessage({ id: "analyticsCatalog.quality.tooltip.title" }, { count: codeGroup.size }) }), _jsx("ul", { children: [...codeGroup].map(([code, issues]) => {
|
|
32
36
|
const message = messages[code];
|
|
33
37
|
if (!message) {
|
|
34
38
|
return null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QualityIcon.js","sourceRoot":"","sources":["../../src/quality/QualityIcon.tsx"],"names":[],"mappings":";AAAA,gCAAgC;AAEhC,OAAO,EAAuB,IAAI,EAAE,MAAM,OAAO,CAAC;AAElD,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAA0C,cAAc,EAAE,MAAM,YAAY,CAAC;AAEpF,OAAO,EAGH,8BAA8B,GACjC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"QualityIcon.js","sourceRoot":"","sources":["../../src/quality/QualityIcon.tsx"],"names":[],"mappings":";AAAA,gCAAgC;AAEhC,OAAO,EAAuB,IAAI,EAAE,MAAM,OAAO,CAAC;AAElD,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAA0C,cAAc,EAAE,MAAM,YAAY,CAAC;AAEpF,OAAO,EAGH,8BAA8B,GACjC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,+BAA+B,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAEvF,MAAM,QAAQ,GAA8D,cAAc,CAAC;IACvF,CAAC,8BAA8B,CAAC,eAAe,CAAC,EAAE;QAC9C,EAAE,EAAE,iDAAiD;KACxD;IACD,CAAC,8BAA8B,CAAC,qBAAqB,CAAC,EAAE;QACpD,EAAE,EAAE,uDAAuD;KAC9D;IACD,CAAC,8BAA8B,CAAC,aAAa,CAAC,EAAE;QAC5C,EAAE,EAAE,+CAA+C;KACtD;IACD,CAAC,8BAA8B,CAAC,mBAAmB,CAAC,EAAE;QAClD,EAAE,EAAE,qDAAqD;KAC5D;IACD,CAAC,8BAA8B,CAAC,oBAAoB,CAAC,EAAE;QACnD,EAAE,EAAE,sDAAsD;KAC7D;CACJ,CAAC,CAAC;AAOH,MAAM,UAAU,WAAW,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,SAAS,EAAS;IAC1E,MAAM,MAAM,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IAE9C,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;QAClB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,SAAS,GAAG,wBAAwB,CAAC,MAAM,CAAC,CAAC;IACnD,MAAM,QAAQ,GAAG,+BAA+B,CAAC,MAAM,CAAC,CAAC;IAEzD,OAAO,CACH,iBAAS,SAAS,EAAE,SAAS,EAAE,EAAE,CAAC,uCAAuC,EAAE,SAAS,CAAC,YACjF,KAAC,SAAS,IACN,cAAc,EAAC,MAAM,EACrB,gBAAgB,QAChB,SAAS,EAAE,CAAC,OAAO,CAAC,EACpB,MAAM,EAAE,KAAC,mBAAmB,IAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,cAAc,EAAE,EAAE,GAAI,EACjF,OAAO,EACH,eAAK,SAAS,EAAC,gDAAgD,aAC3D,wBACK,IAAI,CAAC,aAAa,CACf,EAAE,EAAE,EAAE,wCAAwC,EAAE,EAChD,EAAE,KAAK,EAAE,SAAS,CAAC,IAAI,EAAE,CAC5B,GACC,EACN,uBACK,CAAC,GAAG,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE;4BACnC,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;4BAC/B,IAAI,CAAC,OAAO,EAAE,CAAC;gCACX,OAAO,IAAI,CAAC;4BAChB,CAAC;4BACD,OAAO,CACH,uBACK,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,IADjD,IAAI,CAER,CACR,CAAC;wBACN,CAAC,CAAC,GACD,IACH,GAEZ,GACA,CACT,CAAC;AACN,CAAC;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC"}
|
|
@@ -3,7 +3,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
3
3
|
import cx from "classnames";
|
|
4
4
|
import { FormattedMessage, defineMessages } from "react-intl";
|
|
5
5
|
import { SemanticQualityIssueCodeValues, } from "@gooddata/sdk-model";
|
|
6
|
-
import {
|
|
6
|
+
import { QualitySeverityIcon } from "./QualitySeverityIcon.js";
|
|
7
7
|
import { ObjectTypeIconMemo, mapObjectType } from "../objectType/index.js";
|
|
8
8
|
const titleMessages = defineMessages({
|
|
9
9
|
[SemanticQualityIssueCodeValues.IDENTICAL_TITLE]: {
|
|
@@ -47,7 +47,7 @@ export function QualityIssue({ issue, objectId, objectTitle }) {
|
|
|
47
47
|
}
|
|
48
48
|
// Exclude the current object from the list
|
|
49
49
|
const objects = issue.objects.filter((obj) => obj.identifier !== objectId);
|
|
50
|
-
return (_jsxs("div", { className: "gd-analytics-catalog__quality-issue", children: [_jsx(
|
|
50
|
+
return (_jsxs("div", { className: "gd-analytics-catalog__quality-issue", children: [_jsx(QualitySeverityIcon, { severity: issue.severity, size: 20, backgroundColor: "complementary-0" }), _jsx("div", { className: "gd-analytics-catalog__quality-issue__title", children: _jsx(FormattedMessage, { ...titleMessage }) }), _jsx("div", { className: "gd-analytics-catalog__quality-issue__description", children: _jsx(FormattedMessage, { ...descriptionMessage, values: {
|
|
51
51
|
title: objectTitle,
|
|
52
52
|
abbreviation: issue.detail.abbreviation,
|
|
53
53
|
objects: objects.map((obj, idx) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QualityIssue.js","sourceRoot":"","sources":["../../src/quality/QualityIssue.tsx"],"names":[],"mappings":";AAAA,gCAAgC;AAEhC,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAE,gBAAgB,EAA0B,cAAc,EAAE,MAAM,YAAY,CAAC;AAEtF,OAAO,EAIH,8BAA8B,GACjC,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"QualityIssue.js","sourceRoot":"","sources":["../../src/quality/QualityIssue.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QualityScoreCard.d.ts","sourceRoot":"","sources":["../../src/quality/QualityScoreCard.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"QualityScoreCard.d.ts","sourceRoot":"","sources":["../../src/quality/QualityScoreCard.tsx"],"names":[],"mappings":"AAQA,wBAAgB,gBAAgB,4CAmB/B"}
|
|
@@ -1,18 +1,16 @@
|
|
|
1
|
-
import { jsx as _jsx,
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
// (C) 2025 GoodData Corporation
|
|
3
3
|
import { useIntl } from "react-intl";
|
|
4
|
-
import { LoadingComponent } from "@gooddata/sdk-ui";
|
|
5
|
-
import { UiIcon } from "@gooddata/sdk-ui-kit";
|
|
6
4
|
import { useQualityActions, useQualityState } from "./QualityContext.js";
|
|
7
5
|
import { QualityScoreCardMenu } from "./QualityScoreCardMenu.js";
|
|
6
|
+
import { QualityScoreCardScore } from "./QualityScoreCardScore.js";
|
|
8
7
|
export function QualityScoreCard() {
|
|
9
8
|
const intl = useIntl();
|
|
10
9
|
const { qualityIssues, qualityIssuesCalculation } = useQualityState();
|
|
11
10
|
const { createQualityIssuesCalculation } = useQualityActions();
|
|
12
|
-
const issueCount = qualityIssues.issues.length;
|
|
13
11
|
const isLoading = qualityIssues.status === "pending" ||
|
|
14
12
|
qualityIssues.status === "loading" ||
|
|
15
13
|
qualityIssuesCalculation.status === "loading";
|
|
16
|
-
return (_jsxs("div", { className: "gd-analytics-catalog__quality-score-card", children: [_jsx("span", { className: "gd-analytics-catalog__quality-score-card__title", children: intl.formatMessage({ id: "analyticsCatalog.quality.scoreCard.title" }) }), _jsx(QualityScoreCardMenu, { intl: intl, onRunCheck: createQualityIssuesCalculation }), _jsx(
|
|
14
|
+
return (_jsxs("div", { className: "gd-analytics-catalog__quality-score-card", children: [_jsx("span", { className: "gd-analytics-catalog__quality-score-card__title", children: intl.formatMessage({ id: "analyticsCatalog.quality.scoreCard.title" }) }), _jsx(QualityScoreCardMenu, { intl: intl, onRunCheck: createQualityIssuesCalculation }), _jsx(QualityScoreCardScore, { issues: qualityIssues.issues, isLoading: isLoading })] }));
|
|
17
15
|
}
|
|
18
16
|
//# sourceMappingURL=QualityScoreCard.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QualityScoreCard.js","sourceRoot":"","sources":["../../src/quality/QualityScoreCard.tsx"],"names":[],"mappings":";AAAA,gCAAgC;AAEhC,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"QualityScoreCard.js","sourceRoot":"","sources":["../../src/quality/QualityScoreCard.tsx"],"names":[],"mappings":";AAAA,gCAAgC;AAEhC,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACzE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAEnE,MAAM,UAAU,gBAAgB;IAC5B,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IACvB,MAAM,EAAE,aAAa,EAAE,wBAAwB,EAAE,GAAG,eAAe,EAAE,CAAC;IACtE,MAAM,EAAE,8BAA8B,EAAE,GAAG,iBAAiB,EAAE,CAAC;IAE/D,MAAM,SAAS,GACX,aAAa,CAAC,MAAM,KAAK,SAAS;QAClC,aAAa,CAAC,MAAM,KAAK,SAAS;QAClC,wBAAwB,CAAC,MAAM,KAAK,SAAS,CAAC;IAElD,OAAO,CACH,eAAK,SAAS,EAAC,0CAA0C,aACrD,eAAM,SAAS,EAAC,iDAAiD,YAC5D,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,0CAA0C,EAAE,CAAC,GACpE,EACP,KAAC,oBAAoB,IAAC,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,8BAA8B,GAAI,EAChF,KAAC,qBAAqB,IAAC,MAAM,EAAE,aAAa,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,GAAI,IAC3E,CACT,CAAC;AACN,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { ISemanticQualityIssue } from "@gooddata/sdk-model";
|
|
2
|
+
type Props = {
|
|
3
|
+
issues: ISemanticQualityIssue[];
|
|
4
|
+
isLoading: boolean;
|
|
5
|
+
};
|
|
6
|
+
export declare function QualityScoreCardScore({ issues, isLoading }: Props): import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
export {};
|
|
8
|
+
//# sourceMappingURL=QualityScoreCardScore.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"QualityScoreCardScore.d.ts","sourceRoot":"","sources":["../../src/quality/QualityScoreCardScore.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAOjE,KAAK,KAAK,GAAG;IACT,MAAM,EAAE,qBAAqB,EAAE,CAAC;IAChC,SAAS,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF,wBAAgB,qBAAqB,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,KAAK,2CA4BjE"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { LoadingComponent } from "@gooddata/sdk-ui";
|
|
3
|
+
import { UiIcon } from "@gooddata/sdk-ui-kit";
|
|
4
|
+
import { QualitySeverityIcon } from "./QualitySeverityIcon.js";
|
|
5
|
+
import { groupQualityIssuesBySeverity } from "./utils.js";
|
|
6
|
+
export function QualityScoreCardScore({ issues, isLoading }) {
|
|
7
|
+
const severityGroup = groupQualityIssuesBySeverity(issues);
|
|
8
|
+
const totalCount = issues.length;
|
|
9
|
+
return (_jsx("div", { className: "gd-analytics-catalog__quality-score-card__score", children: isLoading ? (_jsx(LoadingComponent, {})) : totalCount > 0 ? ([...severityGroup].map(([severity, issues]) => {
|
|
10
|
+
if (issues.length === 0) {
|
|
11
|
+
return null;
|
|
12
|
+
}
|
|
13
|
+
return (_jsxs("div", { className: "gd-analytics-catalog__quality-score-card__score__item", children: [issues.length, _jsx(QualitySeverityIcon, { severity: severity, size: 14 })] }, severity));
|
|
14
|
+
})) : (_jsxs("div", { className: "gd-analytics-catalog__quality-score-card__score__item", children: [totalCount, _jsx(UiIcon, { type: "checkCircle", color: "success", size: 14, ariaHidden: true })] })) }));
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=QualityScoreCardScore.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"QualityScoreCardScore.js","sourceRoot":"","sources":["../../src/quality/QualityScoreCardScore.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAE9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,4BAA4B,EAAE,MAAM,YAAY,CAAC;AAO1D,MAAM,UAAU,qBAAqB,CAAC,EAAE,MAAM,EAAE,SAAS,EAAS;IAC9D,MAAM,aAAa,GAAG,4BAA4B,CAAC,MAAM,CAAC,CAAC;IAC3D,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC;IAEjC,OAAO,CACH,cAAK,SAAS,EAAC,iDAAiD,YAC3D,SAAS,CAAC,CAAC,CAAC,CACT,KAAC,gBAAgB,KAAG,CACvB,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,CACjB,CAAC,GAAG,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE;YAC1C,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACtB,OAAO,IAAI,CAAC;YAChB,CAAC;YACD,OAAO,CACH,eAAoB,SAAS,EAAC,uDAAuD,aAChF,MAAM,CAAC,MAAM,EACd,KAAC,mBAAmB,IAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,GAAI,KAF/C,QAAQ,CAGZ,CACT,CAAC;QACN,CAAC,CAAC,CACL,CAAC,CAAC,CAAC,CACA,eAAK,SAAS,EAAC,uDAAuD,aACjE,UAAU,EACX,KAAC,MAAM,IAAC,IAAI,EAAC,aAAa,EAAC,KAAK,EAAC,SAAS,EAAC,IAAI,EAAE,EAAE,EAAE,UAAU,SAAG,IAChE,CACT,GACC,CACT,CAAC;AACN,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { SemanticQualityIssueSeverity } from "@gooddata/sdk-model";
|
|
2
|
+
import { type ThemeColor } from "@gooddata/sdk-ui-kit";
|
|
3
|
+
type Props = {
|
|
4
|
+
severity: SemanticQualityIssueSeverity;
|
|
5
|
+
size?: number;
|
|
6
|
+
backgroundSize?: number;
|
|
7
|
+
backgroundColor?: ThemeColor;
|
|
8
|
+
};
|
|
9
|
+
export declare function QualitySeverityIcon({ severity, size, backgroundSize, backgroundColor }: Props): import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
export {};
|
|
11
|
+
//# sourceMappingURL=QualitySeverityIcon.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"QualitySeverityIcon.d.ts","sourceRoot":"","sources":["../../src/quality/QualitySeverityIcon.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAC;AACxE,OAAO,EAAE,KAAK,UAAU,EAAU,MAAM,sBAAsB,CAAC;AAE/D,KAAK,KAAK,GAAG;IACT,QAAQ,EAAE,4BAA4B,CAAC;IACvC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,UAAU,CAAC;CAChC,CAAC;AAEF,wBAAgB,mBAAmB,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,cAAc,EAAE,eAAe,EAAE,EAAE,KAAK,2CAuB7F"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { UiIcon } from "@gooddata/sdk-ui-kit";
|
|
3
|
+
export function QualitySeverityIcon({ severity, size, backgroundSize, backgroundColor }) {
|
|
4
|
+
if (severity === "WARNING") {
|
|
5
|
+
return (_jsx(UiIcon, { type: "warning", color: "warning", size: size, backgroundSize: backgroundSize, backgroundColor: backgroundColor, ariaHidden: true }));
|
|
6
|
+
}
|
|
7
|
+
return (_jsx(UiIcon, { type: "recommendation", color: "primary", size: size, backgroundSize: backgroundSize, backgroundColor: backgroundColor, ariaHidden: true }));
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=QualitySeverityIcon.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"QualitySeverityIcon.js","sourceRoot":"","sources":["../../src/quality/QualitySeverityIcon.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAmB,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAS/D,MAAM,UAAU,mBAAmB,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,cAAc,EAAE,eAAe,EAAS;IAC1F,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,CACH,KAAC,MAAM,IACH,IAAI,EAAC,SAAS,EACd,KAAK,EAAC,SAAS,EACf,IAAI,EAAE,IAAI,EACV,cAAc,EAAE,cAAc,EAC9B,eAAe,EAAE,eAAe,EAChC,UAAU,SACZ,CACL,CAAC;IACN,CAAC;IACD,OAAO,CACH,KAAC,MAAM,IACH,IAAI,EAAC,gBAAgB,EACrB,KAAK,EAAC,SAAS,EACf,IAAI,EAAE,IAAI,EACV,cAAc,EAAE,cAAc,EAC9B,eAAe,EAAE,eAAe,EAChC,UAAU,SACZ,CACL,CAAC;AACN,CAAC"}
|
package/esm/quality/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { QualityProvider, useQualityState, useQualityIssuesState, useQualityActions, useQualityIssuesMap, useQualityIssuesById,
|
|
1
|
+
export { QualityProvider, useQualityState, useQualityIssuesState, useQualityActions, useQualityIssuesMap, useQualityIssuesById, } from "./QualityContext.js";
|
|
2
2
|
export { QualityIcon, QualityIconMemo } from "./QualityIcon.js";
|
|
3
3
|
export { QualityIssue } from "./QualityIssue.js";
|
|
4
4
|
export { QualityScoreCard } from "./QualityScoreCard.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/quality/index.ts"],"names":[],"mappings":"AAEA,OAAO,EACH,eAAe,EACf,eAAe,EACf,qBAAqB,EACrB,iBAAiB,EACjB,mBAAmB,EACnB,oBAAoB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/quality/index.ts"],"names":[],"mappings":"AAEA,OAAO,EACH,eAAe,EACf,eAAe,EACf,qBAAqB,EACrB,iBAAiB,EACjB,mBAAmB,EACnB,oBAAoB,GACvB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC"}
|
package/esm/quality/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// (C) 2025 GoodData Corporation
|
|
2
|
-
export { QualityProvider, useQualityState, useQualityIssuesState, useQualityActions, useQualityIssuesMap, useQualityIssuesById,
|
|
2
|
+
export { QualityProvider, useQualityState, useQualityIssuesState, useQualityActions, useQualityIssuesMap, useQualityIssuesById, } from "./QualityContext.js";
|
|
3
3
|
export { QualityIcon, QualityIconMemo } from "./QualityIcon.js";
|
|
4
4
|
export { QualityIssue } from "./QualityIssue.js";
|
|
5
5
|
export { QualityScoreCard } from "./QualityScoreCard.js";
|
package/esm/quality/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/quality/index.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,EACH,eAAe,EACf,eAAe,EACf,qBAAqB,EACrB,iBAAiB,EACjB,mBAAmB,EACnB,oBAAoB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/quality/index.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,EACH,eAAe,EACf,eAAe,EACf,qBAAqB,EACrB,iBAAiB,EACjB,mBAAmB,EACnB,oBAAoB,GACvB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { type ISemanticQualityIssue, type SemanticQualityIssueCode, type SemanticQualityIssueSeverity } from "@gooddata/sdk-model";
|
|
2
|
+
export declare function getQualityIssuesHighestSeverity(issues: ISemanticQualityIssue[]): SemanticQualityIssueSeverity;
|
|
3
|
+
export declare function groupQualityIssuesByCode(issues: ISemanticQualityIssue[]): Map<SemanticQualityIssueCode, ISemanticQualityIssue[]>;
|
|
4
|
+
export declare function groupQualityIssuesBySeverity(issues: ISemanticQualityIssue[]): Map<SemanticQualityIssueSeverity, ISemanticQualityIssue[]>;
|
|
5
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/quality/utils.ts"],"names":[],"mappings":"AAEA,OAAO,EACH,KAAK,qBAAqB,EAC1B,KAAK,wBAAwB,EAC7B,KAAK,4BAA4B,EAEpC,MAAM,qBAAqB,CAAC;AAE7B,wBAAgB,+BAA+B,CAC3C,MAAM,EAAE,qBAAqB,EAAE,GAChC,4BAA4B,CAU9B;AAED,wBAAgB,wBAAwB,CACpC,MAAM,EAAE,qBAAqB,EAAE,GAChC,GAAG,CAAC,wBAAwB,EAAE,qBAAqB,EAAE,CAAC,CAExD;AAED,wBAAgB,4BAA4B,CACxC,MAAM,EAAE,qBAAqB,EAAE,GAChC,GAAG,CAAC,4BAA4B,EAAE,qBAAqB,EAAE,CAAC,CAE5D"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
// (C) 2025 GoodData Corporation
|
|
2
|
+
import { SemanticQualityIssueSeverityOrder as SeverityOrder, } from "@gooddata/sdk-model";
|
|
3
|
+
export function getQualityIssuesHighestSeverity(issues) {
|
|
4
|
+
let severity = "INFO";
|
|
5
|
+
for (const issue of issues) {
|
|
6
|
+
if (SeverityOrder[issue.severity] > SeverityOrder[severity]) {
|
|
7
|
+
severity = issue.severity;
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
return severity;
|
|
11
|
+
}
|
|
12
|
+
export function groupQualityIssuesByCode(issues) {
|
|
13
|
+
return groupQualityIssuesBy(issues, (issue) => issue.code);
|
|
14
|
+
}
|
|
15
|
+
export function groupQualityIssuesBySeverity(issues) {
|
|
16
|
+
return groupQualityIssuesBy(issues, (issue) => issue.severity);
|
|
17
|
+
}
|
|
18
|
+
function groupQualityIssuesBy(items, keyExtractor) {
|
|
19
|
+
const groupMap = new Map();
|
|
20
|
+
for (const item of items) {
|
|
21
|
+
const key = keyExtractor(item);
|
|
22
|
+
const existingGroup = groupMap.get(key);
|
|
23
|
+
if (existingGroup) {
|
|
24
|
+
existingGroup.push(item);
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
groupMap.set(key, [item]);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
return groupMap;
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/quality/utils.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,EAIH,iCAAiC,IAAI,aAAa,GACrD,MAAM,qBAAqB,CAAC;AAE7B,MAAM,UAAU,+BAA+B,CAC3C,MAA+B;IAE/B,IAAI,QAAQ,GAAiC,MAAM,CAAC;IAEpD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QACzB,IAAI,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC1D,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;QAC9B,CAAC;IACL,CAAC;IAED,OAAO,QAAQ,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,wBAAwB,CACpC,MAA+B;IAE/B,OAAO,oBAAoB,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,4BAA4B,CACxC,MAA+B;IAE/B,OAAO,oBAAoB,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;AACnE,CAAC;AAED,SAAS,oBAAoB,CACzB,KAA8B,EAC9B,YAAgD;IAEhD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA8B,CAAC;IAEvD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACvB,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;QAC/B,MAAM,aAAa,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACxC,IAAI,aAAa,EAAE,CAAC;YAChB,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC;aAAM,CAAC;YACJ,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;QAC9B,CAAC;IACL,CAAC;IAED,OAAO,QAAQ,CAAC;AACpB,CAAC"}
|
package/esm/sdk-ui-catalog.d.ts
CHANGED
|
@@ -168,14 +168,6 @@ export declare interface IAnalyticsCatalogProps {
|
|
|
168
168
|
* Handler when closing catalog detail.
|
|
169
169
|
*/
|
|
170
170
|
onCatalogDetailClosed?: () => void;
|
|
171
|
-
/**
|
|
172
|
-
* Initial tab to show. Defaults to "catalog".
|
|
173
|
-
*/
|
|
174
|
-
initialTab?: "catalog" | "memory";
|
|
175
|
-
/**
|
|
176
|
-
* Notify when tab changes.
|
|
177
|
-
*/
|
|
178
|
-
onTabChange?: (tabId: "catalog" | "memory") => void;
|
|
179
171
|
}
|
|
180
172
|
|
|
181
173
|
/**
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gooddata/sdk-ui-catalog",
|
|
3
|
-
"version": "11.6.0-alpha.
|
|
3
|
+
"version": "11.6.0-alpha.6",
|
|
4
4
|
"description": "GoodData SDK - Analytics Catalog",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -37,13 +37,13 @@
|
|
|
37
37
|
"lodash-es": "^4.17.21",
|
|
38
38
|
"react-intl": "7.1.11",
|
|
39
39
|
"tslib": "2.8.1",
|
|
40
|
-
"@gooddata/sdk-backend-spi": "11.6.0-alpha.
|
|
41
|
-
"@gooddata/sdk-
|
|
42
|
-
"@gooddata/sdk-ui-kit": "11.6.0-alpha.
|
|
43
|
-
"@gooddata/sdk-
|
|
44
|
-
"@gooddata/sdk-ui-semantic-search": "11.6.0-alpha.
|
|
45
|
-
"@gooddata/sdk-ui-theme-provider": "11.6.0-alpha.
|
|
46
|
-
"@gooddata/util": "11.6.0-alpha.
|
|
40
|
+
"@gooddata/sdk-backend-spi": "11.6.0-alpha.6",
|
|
41
|
+
"@gooddata/sdk-model": "11.6.0-alpha.6",
|
|
42
|
+
"@gooddata/sdk-ui-kit": "11.6.0-alpha.6",
|
|
43
|
+
"@gooddata/sdk-ui": "11.6.0-alpha.6",
|
|
44
|
+
"@gooddata/sdk-ui-semantic-search": "11.6.0-alpha.6",
|
|
45
|
+
"@gooddata/sdk-ui-theme-provider": "11.6.0-alpha.6",
|
|
46
|
+
"@gooddata/util": "11.6.0-alpha.6"
|
|
47
47
|
},
|
|
48
48
|
"devDependencies": {
|
|
49
49
|
"@microsoft/api-documenter": "^7.17.0",
|
|
@@ -83,9 +83,9 @@
|
|
|
83
83
|
"typescript": "5.8.3",
|
|
84
84
|
"vitest": "3.2.4",
|
|
85
85
|
"vitest-dom": "0.1.1",
|
|
86
|
-
"@gooddata/eslint-config": "11.6.0-alpha.
|
|
87
|
-
"@gooddata/
|
|
88
|
-
"@gooddata/
|
|
86
|
+
"@gooddata/eslint-config": "11.6.0-alpha.6",
|
|
87
|
+
"@gooddata/sdk-backend-mockingbird": "11.6.0-alpha.6",
|
|
88
|
+
"@gooddata/i18n-toolkit": "11.6.0-alpha.6"
|
|
89
89
|
},
|
|
90
90
|
"peerDependencies": {
|
|
91
91
|
"react": "^18.0.0 || ^19.0.0",
|
package/styles/css/main.css
CHANGED
|
@@ -630,12 +630,17 @@
|
|
|
630
630
|
grid-column: span 2;
|
|
631
631
|
display: flex;
|
|
632
632
|
align-items: center;
|
|
633
|
-
gap:
|
|
633
|
+
gap: 10px;
|
|
634
634
|
height: 30px;
|
|
635
635
|
line-height: 30px;
|
|
636
636
|
font-size: 24px;
|
|
637
637
|
font-weight: 700;
|
|
638
638
|
}
|
|
639
|
+
.gd-analytics-catalog__quality-score-card__score__item {
|
|
640
|
+
display: flex;
|
|
641
|
+
align-items: center;
|
|
642
|
+
gap: 5px;
|
|
643
|
+
}
|
|
639
644
|
.gd-analytics-catalog__quality-score-card .gd-dropdown-button-wrapper,
|
|
640
645
|
.gd-analytics-catalog__quality-score-card .gd-ui-kit-icon-button {
|
|
641
646
|
height: 20px;
|
|
@@ -651,92 +656,5 @@
|
|
|
651
656
|
padding-left: 12px;
|
|
652
657
|
margin: 0;
|
|
653
658
|
}
|
|
654
|
-
.gd-analytics-catalog__memory-actions {
|
|
655
|
-
display: flex;
|
|
656
|
-
gap: 8px;
|
|
657
|
-
align-items: center;
|
|
658
|
-
justify-content: flex-start;
|
|
659
|
-
min-width: 140px;
|
|
660
|
-
}
|
|
661
|
-
.gd-analytics-catalog__memory-actions .gd-button {
|
|
662
|
-
min-width: 65px;
|
|
663
|
-
max-width: none;
|
|
664
|
-
height: 32px;
|
|
665
|
-
display: flex;
|
|
666
|
-
align-items: center;
|
|
667
|
-
justify-content: center;
|
|
668
|
-
font-size: 12px;
|
|
669
|
-
line-height: 1;
|
|
670
|
-
padding: 8px 12px;
|
|
671
|
-
white-space: nowrap;
|
|
672
|
-
border-radius: 3px;
|
|
673
|
-
box-sizing: border-box;
|
|
674
|
-
flex-shrink: 0;
|
|
675
|
-
}
|
|
676
|
-
.gd-analytics-catalog__memory-actions .gd-button.gd-button-small {
|
|
677
|
-
min-width: 65px;
|
|
678
|
-
height: 32px;
|
|
679
|
-
padding: 8px 12px;
|
|
680
|
-
font-size: 12px;
|
|
681
|
-
}
|
|
682
|
-
|
|
683
|
-
.gd-memory-dialog {
|
|
684
|
-
width: 500px;
|
|
685
|
-
max-height: 80vh;
|
|
686
|
-
overflow: hidden;
|
|
687
|
-
display: flex;
|
|
688
|
-
flex-direction: column;
|
|
689
|
-
}
|
|
690
|
-
.gd-memory-dialog .gd-dialog-content {
|
|
691
|
-
flex: 1;
|
|
692
|
-
overflow-y: auto;
|
|
693
|
-
max-height: calc(80vh - 140px);
|
|
694
|
-
}
|
|
695
|
-
|
|
696
|
-
.gd-memory-dialog-form {
|
|
697
|
-
display: flex;
|
|
698
|
-
flex-direction: column;
|
|
699
|
-
gap: 20px;
|
|
700
|
-
}
|
|
701
|
-
.gd-memory-dialog-form-input {
|
|
702
|
-
display: flex;
|
|
703
|
-
flex-direction: column;
|
|
704
|
-
gap: 8px;
|
|
705
|
-
font-size: 14px;
|
|
706
|
-
line-height: 21px;
|
|
707
|
-
color: var(--gd-palette-complementary-7, #6d7680);
|
|
708
|
-
}
|
|
709
|
-
.gd-memory-dialog-form-input .gd-input-field {
|
|
710
|
-
margin-top: 5px;
|
|
711
|
-
}
|
|
712
|
-
.gd-memory-dialog-form-input textarea.gd-input-field {
|
|
713
|
-
resize: vertical;
|
|
714
|
-
min-height: 80px;
|
|
715
|
-
max-height: 200px;
|
|
716
|
-
font-family: var(--gd-font-family, gdcustomfont, Avenir, "Helvetica Neue", arial, sans-serif);
|
|
717
|
-
}
|
|
718
|
-
.gd-memory-dialog-form-select {
|
|
719
|
-
display: flex;
|
|
720
|
-
flex-direction: column;
|
|
721
|
-
gap: 8px;
|
|
722
|
-
font-size: 14px;
|
|
723
|
-
line-height: 21px;
|
|
724
|
-
color: var(--gd-palette-complementary-7, #6d7680);
|
|
725
|
-
}
|
|
726
|
-
.gd-memory-dialog-form-select-wrapper {
|
|
727
|
-
margin-top: 5px;
|
|
728
|
-
}
|
|
729
|
-
.gd-memory-dialog-form-select-wrapper .gd-dropdown-button {
|
|
730
|
-
width: 100%;
|
|
731
|
-
justify-content: space-between;
|
|
732
|
-
}
|
|
733
|
-
.gd-memory-dialog-form-select-wrapper .gd-list-item {
|
|
734
|
-
padding: 8px 12px;
|
|
735
|
-
cursor: pointer;
|
|
736
|
-
font-size: 14px;
|
|
737
|
-
}
|
|
738
|
-
.gd-memory-dialog-form-select-wrapper .gd-list-item:hover {
|
|
739
|
-
background-color: var(--gd-palette-complementary-0-from-theme, #fcfcfd);
|
|
740
|
-
}
|
|
741
659
|
|
|
742
660
|
/*# sourceMappingURL=main.css.map */
|
package/styles/css/main.css.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sourceRoot":"","sources":["../../node_modules/@gooddata/sdk-ui-kit/src/@ui/defaultTheme.scss","../scss/objectType.scss","../scss/detail.scss","../../node_modules/@gooddata/sdk-ui-kit/styles/scss/variables.scss","../scss/main.scss"],"names":[],"mappings":"AAIA;EAEI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EAGA;EACA;EAGA;EACA;AAAA;AAAA;AAAA;EAIA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;AAAA;AAAA;AAAA;EAIA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;EACA;EACA;AAAA;AAAA;AAAA;EAIA;AAAA;AAAA;AAAA;EAIA;AAAA;AAAA;AAAA;EAIA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAAA;AAAA;AAAA;EAIA;EACA;AAAA;AAAA;AAAA;EAIA;EAGA;EACA;EACA;AAAA;AAAA;AAAA;EAIA;AAAA;AAAA;AAAA;EAIA;EACA;EACA;EACA;AAAA;AAAA;AAAA;EAIA;EACA;EACA;EACA;EAGA;EACA;EAGA;EAGA;EACA;AAAA;AAAA;AAAA;EAIA;AAAA;AAAA;AAAA;EAIA;EACA;EACA;EACA;AAAA;AAAA;AAAA;EAIA;EACA;AAAA;AAAA;AAAA;EAIA;AAAA;AAAA;AAAA;EAIA;EACA;EACA;EACA;EACA;AAAA;AAAA;AAAA;EAIA;EACA;AAAA;AAAA;AAAA;EAIA;EACA;EACA;EACA;EACA;EACA;EACA;AAAA;AAAA;AAAA;EAIA;EACA;EACA;EACA;EACA;AAAA;AAAA;AAAA;EAIA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AClVA;EACI;;AAGJ;EACI;;AAGJ;EAEI;;AAGJ;EACI;;;ACJR;EACI,aCmFc;EDlFd,WAJgB;EAKhB,WAVI;EAWJ,WAXI;EAYJ;;AAEA;EAEI;EACA;;AAGJ;EACI;EACA;EACA;;AAGJ;EACI;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;EACA,OCnBA;EDoBA,WA3CE;EA4CF,aA3CS;EA4CT;EACA;;AAEA;EACI;EACA;EACA;EACA;;AAGJ;EACI;EACA;;AAGJ;EACI,OC7CG;;ADgDP;EACI;EACA,OC/CJ;EDgDI;EACA;;AAIR;EACI;;AAEA;EACI,OCzDJ;ED0DI,aA1EQ;EA2ER,WA5EC;EA6ED;EACA;EACA;;AAGJ;EACI,OC9DJ;ED+DI,WAlFA;EAmFA;EACA;EACA;EACA;;AAGJ;EACI,OC9EG;;ADiFP;EACI;EACA,OChFJ;;ADoFJ;EACI;;AAEA;EACI;;AAKZ;EACI;;AAIR;EACI;EACA;EACA;;AAEA;EACI;;AAIR;EACI,OC7GQ;ED8GR;EACA;EACA;EACA;;AAGJ;EACI,OCjHQ;EDkHR;EACA;EACA;EACA;;AAGJ;EACI;EACA;;AAEA;EACI,OCpIW;EDqIX;EACA;EACA;EACA;;;AAMR;EACI;EACA;EACA;EACA;EACA;;AAEA;EACI;;AAGJ;EACI;;AAIA;EACI;;AAEA;EACI;EACA;EACA;;AAIR;EACI;;;AEtLhB;EACI,aDsFc;ECrFd,WAJgB;EAKhB;EACA;EACA;EACA;EACA;;AAEA;EACI;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;;AAGJ;EACI;EACA;;AAGJ;EACI;EACA;EACA;;AAGJ;EACI;EACA;EACA;;AAIR;EACI;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;;AAEA;EACI;;AAMR;EACI;;AAGJ;EACI;EACA;EACA;;AAIR;EACI;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;EACA;;AAGJ;EACI;;AAGJ;EACI;EACA;EACA;EACA;;AAGI;EAGI;;AAKJ;EAII;EACA;;AAMhB;EACI;EACA;;AAEA;EACI;;AAGJ;EAEI;;AAGJ;EACI;;AAEA;EACI;EACA;EACA;EACA;EACA;EACA;;AAIR;EACI;;AAGJ;EACI,OD3IQ;EC4IR;EACA;EACA;EACA;;AAGJ;EAEI,OD/II;ECgJJ;EACA;EACA;EACA;;AAIR;EACI;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA,OD9JQ;EC+JR;EACA;EACA,kBD9KS;;ACgLT;EACI;EACA;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;
|
|
1
|
+
{"version":3,"sourceRoot":"","sources":["../../node_modules/@gooddata/sdk-ui-kit/src/@ui/defaultTheme.scss","../scss/objectType.scss","../scss/detail.scss","../../node_modules/@gooddata/sdk-ui-kit/styles/scss/variables.scss","../scss/main.scss"],"names":[],"mappings":"AAIA;EAEI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EAGA;EACA;EAGA;EACA;AAAA;AAAA;AAAA;EAIA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;AAAA;AAAA;AAAA;EAIA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;EACA;EACA;AAAA;AAAA;AAAA;EAIA;AAAA;AAAA;AAAA;EAIA;AAAA;AAAA;AAAA;EAIA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAAA;AAAA;AAAA;EAIA;EACA;AAAA;AAAA;AAAA;EAIA;EAGA;EACA;EACA;AAAA;AAAA;AAAA;EAIA;AAAA;AAAA;AAAA;EAIA;EACA;EACA;EACA;AAAA;AAAA;AAAA;EAIA;EACA;EACA;EACA;EAGA;EACA;EAGA;EAGA;EACA;AAAA;AAAA;AAAA;EAIA;AAAA;AAAA;AAAA;EAIA;EACA;EACA;EACA;AAAA;AAAA;AAAA;EAIA;EACA;AAAA;AAAA;AAAA;EAIA;AAAA;AAAA;AAAA;EAIA;EACA;EACA;EACA;EACA;AAAA;AAAA;AAAA;EAIA;EACA;AAAA;AAAA;AAAA;EAIA;EACA;EACA;EACA;EACA;EACA;EACA;AAAA;AAAA;AAAA;EAIA;EACA;EACA;EACA;EACA;AAAA;AAAA;AAAA;EAIA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AClVA;EACI;;AAGJ;EACI;;AAGJ;EAEI;;AAGJ;EACI;;;ACJR;EACI,aCmFc;EDlFd,WAJgB;EAKhB,WAVI;EAWJ,WAXI;EAYJ;;AAEA;EAEI;EACA;;AAGJ;EACI;EACA;EACA;;AAGJ;EACI;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;EACA,OCnBA;EDoBA,WA3CE;EA4CF,aA3CS;EA4CT;EACA;;AAEA;EACI;EACA;EACA;EACA;;AAGJ;EACI;EACA;;AAGJ;EACI,OC7CG;;ADgDP;EACI;EACA,OC/CJ;EDgDI;EACA;;AAIR;EACI;;AAEA;EACI,OCzDJ;ED0DI,aA1EQ;EA2ER,WA5EC;EA6ED;EACA;EACA;;AAGJ;EACI,OC9DJ;ED+DI,WAlFA;EAmFA;EACA;EACA;EACA;;AAGJ;EACI,OC9EG;;ADiFP;EACI;EACA,OChFJ;;ADoFJ;EACI;;AAEA;EACI;;AAKZ;EACI;;AAIR;EACI;EACA;EACA;;AAEA;EACI;;AAIR;EACI,OC7GQ;ED8GR;EACA;EACA;EACA;;AAGJ;EACI,OCjHQ;EDkHR;EACA;EACA;EACA;;AAGJ;EACI;EACA;;AAEA;EACI,OCpIW;EDqIX;EACA;EACA;EACA;;;AAMR;EACI;EACA;EACA;EACA;EACA;;AAEA;EACI;;AAGJ;EACI;;AAIA;EACI;;AAEA;EACI;EACA;EACA;;AAIR;EACI;;;AEtLhB;EACI,aDsFc;ECrFd,WAJgB;EAKhB;EACA;EACA;EACA;EACA;;AAEA;EACI;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;;AAGJ;EACI;EACA;;AAGJ;EACI;EACA;EACA;;AAGJ;EACI;EACA;EACA;;AAIR;EACI;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;;AAEA;EACI;;AAMR;EACI;;AAGJ;EACI;EACA;EACA;;AAIR;EACI;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;EACA;;AAGJ;EACI;;AAGJ;EACI;EACA;EACA;EACA;;AAGI;EAGI;;AAKJ;EAII;EACA;;AAMhB;EACI;EACA;;AAEA;EACI;;AAGJ;EAEI;;AAGJ;EACI;;AAEA;EACI;EACA;EACA;EACA;EACA;EACA;;AAIR;EACI;;AAGJ;EACI,OD3IQ;EC4IR;EACA;EACA;EACA;;AAGJ;EAEI,OD/II;ECgJJ;EACA;EACA;EACA;;AAIR;EACI;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA,OD9JQ;EC+JR;EACA;EACA,kBD9KS;;ACgLT;EACI;EACA;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;;AAIR;AAAA;EAEI;EACA;;AAGJ;EACI;;AAKJ;EACI;;AAEA;EACI;EACA","file":"main.css"}
|
package/styles/scss/main.scss
CHANGED
|
@@ -200,11 +200,17 @@ $content-font-size: 14px;
|
|
|
200
200
|
grid-column: span 2;
|
|
201
201
|
display: flex;
|
|
202
202
|
align-items: center;
|
|
203
|
-
gap:
|
|
203
|
+
gap: 10px;
|
|
204
204
|
height: 30px;
|
|
205
205
|
line-height: 30px;
|
|
206
206
|
font-size: 24px;
|
|
207
207
|
font-weight: 700;
|
|
208
|
+
|
|
209
|
+
&__item {
|
|
210
|
+
display: flex;
|
|
211
|
+
align-items: center;
|
|
212
|
+
gap: 5px;
|
|
213
|
+
}
|
|
208
214
|
}
|
|
209
215
|
|
|
210
216
|
.gd-dropdown-button-wrapper,
|
|
@@ -228,103 +234,4 @@ $content-font-size: 14px;
|
|
|
228
234
|
}
|
|
229
235
|
}
|
|
230
236
|
}
|
|
231
|
-
|
|
232
|
-
&__memory-actions {
|
|
233
|
-
display: flex;
|
|
234
|
-
gap: 8px;
|
|
235
|
-
align-items: center;
|
|
236
|
-
justify-content: flex-start;
|
|
237
|
-
min-width: 140px; // Ensure container has enough width
|
|
238
|
-
|
|
239
|
-
.gd-button {
|
|
240
|
-
min-width: 65px;
|
|
241
|
-
max-width: none;
|
|
242
|
-
height: 32px;
|
|
243
|
-
display: flex;
|
|
244
|
-
align-items: center;
|
|
245
|
-
justify-content: center;
|
|
246
|
-
font-size: 12px;
|
|
247
|
-
line-height: 1;
|
|
248
|
-
padding: 8px 12px;
|
|
249
|
-
white-space: nowrap;
|
|
250
|
-
border-radius: 3px;
|
|
251
|
-
box-sizing: border-box;
|
|
252
|
-
flex-shrink: 0; // Prevent buttons from shrinking
|
|
253
|
-
|
|
254
|
-
&.gd-button-small {
|
|
255
|
-
min-width: 65px;
|
|
256
|
-
height: 32px;
|
|
257
|
-
padding: 8px 12px;
|
|
258
|
-
font-size: 12px;
|
|
259
|
-
}
|
|
260
|
-
}
|
|
261
|
-
}
|
|
262
|
-
}
|
|
263
|
-
|
|
264
|
-
.gd-memory-dialog {
|
|
265
|
-
width: 500px;
|
|
266
|
-
max-height: 80vh;
|
|
267
|
-
overflow: hidden;
|
|
268
|
-
display: flex;
|
|
269
|
-
flex-direction: column;
|
|
270
|
-
|
|
271
|
-
.gd-dialog-content {
|
|
272
|
-
flex: 1;
|
|
273
|
-
overflow-y: auto;
|
|
274
|
-
max-height: calc(80vh - 140px); // Account for header and footer
|
|
275
|
-
}
|
|
276
|
-
}
|
|
277
|
-
|
|
278
|
-
.gd-memory-dialog-form {
|
|
279
|
-
display: flex;
|
|
280
|
-
flex-direction: column;
|
|
281
|
-
gap: 20px;
|
|
282
|
-
|
|
283
|
-
&-input {
|
|
284
|
-
display: flex;
|
|
285
|
-
flex-direction: column;
|
|
286
|
-
gap: 8px;
|
|
287
|
-
font-size: 14px;
|
|
288
|
-
line-height: 21px;
|
|
289
|
-
color: kit-variables.$gd-color-link;
|
|
290
|
-
|
|
291
|
-
.gd-input-field {
|
|
292
|
-
margin-top: 5px;
|
|
293
|
-
}
|
|
294
|
-
|
|
295
|
-
textarea.gd-input-field {
|
|
296
|
-
resize: vertical;
|
|
297
|
-
min-height: 80px;
|
|
298
|
-
max-height: 200px;
|
|
299
|
-
font-family: kit-variables.$gd-font-primary;
|
|
300
|
-
}
|
|
301
|
-
}
|
|
302
|
-
|
|
303
|
-
&-select {
|
|
304
|
-
display: flex;
|
|
305
|
-
flex-direction: column;
|
|
306
|
-
gap: 8px;
|
|
307
|
-
font-size: 14px;
|
|
308
|
-
line-height: 21px;
|
|
309
|
-
color: kit-variables.$gd-color-link;
|
|
310
|
-
|
|
311
|
-
&-wrapper {
|
|
312
|
-
margin-top: 5px;
|
|
313
|
-
|
|
314
|
-
.gd-dropdown-button {
|
|
315
|
-
width: 100%;
|
|
316
|
-
justify-content: space-between;
|
|
317
|
-
}
|
|
318
|
-
|
|
319
|
-
.gd-list-item {
|
|
320
|
-
padding: 8px 12px;
|
|
321
|
-
cursor: pointer;
|
|
322
|
-
font-size: 14px;
|
|
323
|
-
|
|
324
|
-
&:hover {
|
|
325
|
-
background-color: kit-variables.$gd-color-light;
|
|
326
|
-
}
|
|
327
|
-
}
|
|
328
|
-
}
|
|
329
|
-
}
|
|
330
237
|
}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import type { IAnalyticalBackend } from "@gooddata/sdk-backend-spi";
|
|
2
|
-
type Props = {
|
|
3
|
-
backend: IAnalyticalBackend;
|
|
4
|
-
workspace: string;
|
|
5
|
-
};
|
|
6
|
-
export declare function MemoryMain({ backend, workspace }: Props): import("react/jsx-runtime").JSX.Element;
|
|
7
|
-
export {};
|
|
8
|
-
//# sourceMappingURL=MemoryMain.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MemoryMain.d.ts","sourceRoot":"","sources":["../../src/memory/MemoryMain.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAsBpE,KAAK,KAAK,GAAG;IACT,OAAO,EAAE,kBAAkB,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC;CACrB,CAAC;AAIF,wBAAgB,UAAU,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,KAAK,2CAmKvD"}
|
package/esm/memory/MemoryMain.js
DELETED
|
@@ -1,184 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
// (C) 2025 GoodData Corporation
|
|
3
|
-
import { useCallback, useEffect, useMemo, useState } from "react";
|
|
4
|
-
import { useIntl } from "react-intl";
|
|
5
|
-
import { Button, Dialog, Dropdown, DropdownButton, DropdownList, UiAsyncTable, UiAsyncTableEmptyState, UiAsyncTableRowHeightNormal, UiAsyncTableScrollbarWidth, useElementSize, } from "@gooddata/sdk-ui-kit";
|
|
6
|
-
import { FilterGroupLayout } from "../filter/FilterGroupLayout.js";
|
|
7
|
-
const tableWidth = 1100;
|
|
8
|
-
export function MemoryMain({ backend, workspace }) {
|
|
9
|
-
const intl = useIntl();
|
|
10
|
-
const [items, setItems] = useState([]);
|
|
11
|
-
const [loading, setLoading] = useState(false);
|
|
12
|
-
const [_error, setError] = useState(null);
|
|
13
|
-
const memory = useMemo(() => backend.workspace(workspace).genAI().getMemory(), [backend, workspace]);
|
|
14
|
-
const { ref, height, width } = useElementSize();
|
|
15
|
-
const [isDialogOpen, setIsDialogOpen] = useState(false);
|
|
16
|
-
const [editingId, setEditingId] = useState(null);
|
|
17
|
-
const [form, setForm] = useState({
|
|
18
|
-
instruction: "",
|
|
19
|
-
keywords: [],
|
|
20
|
-
type: "INSTRUCTION",
|
|
21
|
-
});
|
|
22
|
-
const reload = useCallback(() => {
|
|
23
|
-
setLoading(true);
|
|
24
|
-
setError(null);
|
|
25
|
-
memory
|
|
26
|
-
.list()
|
|
27
|
-
.then(setItems)
|
|
28
|
-
.catch((e) => setError(`${e.name} ${e.message}`))
|
|
29
|
-
.finally(() => setLoading(false));
|
|
30
|
-
}, [memory]);
|
|
31
|
-
useEffect(() => {
|
|
32
|
-
reload();
|
|
33
|
-
}, [memory, reload]);
|
|
34
|
-
const availableWidth = (width > 0 ? width : tableWidth) - UiAsyncTableScrollbarWidth;
|
|
35
|
-
const columns = useMemo(() => {
|
|
36
|
-
return [
|
|
37
|
-
{
|
|
38
|
-
width: getColumnWidth(availableWidth, 400),
|
|
39
|
-
key: "instruction",
|
|
40
|
-
bold: true,
|
|
41
|
-
label: intl.formatMessage({ id: "analyticsCatalog.memory.column.instruction.label" }),
|
|
42
|
-
getTextContent: (item) => item.instruction,
|
|
43
|
-
getTextTitle: (item) => item.instruction,
|
|
44
|
-
},
|
|
45
|
-
{
|
|
46
|
-
width: getColumnWidth(availableWidth, 150),
|
|
47
|
-
key: "type",
|
|
48
|
-
label: intl.formatMessage({ id: "analyticsCatalog.memory.column.type.label" }),
|
|
49
|
-
getTextContent: (item) => item.type,
|
|
50
|
-
getTextTitle: (item) => item.type,
|
|
51
|
-
},
|
|
52
|
-
{
|
|
53
|
-
width: getColumnWidth(availableWidth, 300),
|
|
54
|
-
key: "keywords",
|
|
55
|
-
label: intl.formatMessage({ id: "analyticsCatalog.memory.column.keywords.label" }),
|
|
56
|
-
getTextContent: (item) => (item.keywords || []).join(", "),
|
|
57
|
-
getTextTitle: (item) => (item.keywords || []).join(", "),
|
|
58
|
-
},
|
|
59
|
-
{
|
|
60
|
-
width: getColumnWidth(availableWidth, 180),
|
|
61
|
-
label: intl.formatMessage({ id: "analyticsCatalog.memory.column.actions.label" }),
|
|
62
|
-
renderButton: (item) => (_jsxs("div", { className: "gd-analytics-catalog__memory-actions", children: [_jsx(Button, { onClick: () => {
|
|
63
|
-
setEditingId(item.id);
|
|
64
|
-
setForm({
|
|
65
|
-
instruction: item.instruction,
|
|
66
|
-
type: item.type,
|
|
67
|
-
keywords: item.keywords || [],
|
|
68
|
-
});
|
|
69
|
-
setIsDialogOpen(true);
|
|
70
|
-
}, className: "gd-button-secondary gd-button-small", value: "Edit" }), _jsx(Button, { onClick: async () => {
|
|
71
|
-
if (confirm("Delete this memory item?")) {
|
|
72
|
-
try {
|
|
73
|
-
await remove(memory, item.id);
|
|
74
|
-
reload();
|
|
75
|
-
}
|
|
76
|
-
catch {
|
|
77
|
-
// Error already handled in remove function
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
}, className: "gd-button-negative gd-button-small", value: "Delete" })] })),
|
|
81
|
-
},
|
|
82
|
-
];
|
|
83
|
-
}, [intl, availableWidth, memory, reload]);
|
|
84
|
-
const effectiveItems = useMemo(() => items.map((item) => ({ ...item, id: item.id })), [items]);
|
|
85
|
-
return (_jsxs("section", { className: "gd-analytics-catalog__main", children: [_jsx("header", { children: _jsx(FilterGroupLayout, { title: _jsx("span", { children: "Memory Items" }), children: _jsx("div", {}) }) }), _jsxs("div", { children: [_jsx(MemoryToolbar, { onRefresh: reload, onCreate: () => {
|
|
86
|
-
setEditingId(null);
|
|
87
|
-
setForm({ instruction: "", keywords: [], type: "INSTRUCTION" });
|
|
88
|
-
setIsDialogOpen(true);
|
|
89
|
-
} }), _jsx("div", { className: "gd-analytics-catalog__table", ref: ref, children: _jsx(UiAsyncTable, { totalItemsCount: items.length, skeletonItemsCount: loading ? 3 : 0, items: effectiveItems, columns: columns, maxHeight: height - UiAsyncTableRowHeightNormal, isLoading: loading, hasNextPage: false, loadNextPage: async () => { }, renderEmptyState: () => (_jsx(UiAsyncTableEmptyState, { icon: "drawerEmpty", title: intl.formatMessage({ id: "analyticsCatalog.memory.empty.title" }), description: intl.formatMessage({
|
|
90
|
-
id: "analyticsCatalog.memory.empty.description",
|
|
91
|
-
}) })) }) }), isDialogOpen ? (_jsx(MemoryFormDialog, { title: editingId ? "Edit memory item" : "Create memory item", form: form, onChange: setForm, onCancel: () => setIsDialogOpen(false), onSubmit: async () => {
|
|
92
|
-
if (!form.instruction.trim()) {
|
|
93
|
-
alert("Instruction is required");
|
|
94
|
-
return;
|
|
95
|
-
}
|
|
96
|
-
try {
|
|
97
|
-
if (editingId) {
|
|
98
|
-
await update(memory, editingId, form);
|
|
99
|
-
}
|
|
100
|
-
else {
|
|
101
|
-
await create(memory, form);
|
|
102
|
-
}
|
|
103
|
-
reload(); // Refresh the list after successful operation
|
|
104
|
-
setIsDialogOpen(false);
|
|
105
|
-
}
|
|
106
|
-
catch {
|
|
107
|
-
// Error already handled in create/update functions
|
|
108
|
-
// Dialog stays open so user can retry
|
|
109
|
-
}
|
|
110
|
-
} })) : null] })] }));
|
|
111
|
-
}
|
|
112
|
-
async function create(memory, data) {
|
|
113
|
-
try {
|
|
114
|
-
return await memory.create(data);
|
|
115
|
-
}
|
|
116
|
-
catch (error) {
|
|
117
|
-
alert(`Failed to create memory item: ${error instanceof Error ? error.message : String(error)}`);
|
|
118
|
-
throw error;
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
async function update(memory, id, data) {
|
|
122
|
-
try {
|
|
123
|
-
return await memory.update(id, data);
|
|
124
|
-
}
|
|
125
|
-
catch (error) {
|
|
126
|
-
alert(`Failed to update memory item: ${error instanceof Error ? error.message : String(error)}`);
|
|
127
|
-
throw error;
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
async function remove(memory, id) {
|
|
131
|
-
try {
|
|
132
|
-
await memory.remove(id);
|
|
133
|
-
}
|
|
134
|
-
catch (error) {
|
|
135
|
-
alert(`Failed to delete memory item: ${error instanceof Error ? error.message : String(error)}`);
|
|
136
|
-
throw error;
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
function getColumnWidth(availableWidth, desiredWidth) {
|
|
140
|
-
return Math.round((availableWidth * desiredWidth) / tableWidth);
|
|
141
|
-
}
|
|
142
|
-
function MemoryToolbar({ onRefresh, onCreate }) {
|
|
143
|
-
return (_jsxs("div", { className: "gd-analytics-catalog__memory-toolbar", children: [_jsx(Button, { onClick: onRefresh, className: "gd-button-secondary", value: "Refresh" }), _jsx(Button, { onClick: onCreate, className: "gd-button-action", value: "New" })] }));
|
|
144
|
-
}
|
|
145
|
-
function MemoryFormDialog({ title, form, onChange, onCancel, onSubmit }) {
|
|
146
|
-
const [keywordsInput, setKeywordsInput] = useState((form.keywords || []).join(", "));
|
|
147
|
-
const typeOptions = [
|
|
148
|
-
{ id: "INSTRUCTION", title: "INSTRUCTION" },
|
|
149
|
-
{ id: "SYNONYM", title: "SYNONYM" },
|
|
150
|
-
{ id: "ABBREVIATION", title: "ABBREVIATION" },
|
|
151
|
-
];
|
|
152
|
-
const selectedTypeOption = typeOptions.find((option) => option.id === form.type);
|
|
153
|
-
// Update input when form changes (e.g., when editing different items)
|
|
154
|
-
useEffect(() => {
|
|
155
|
-
setKeywordsInput((form.keywords || []).join(", "));
|
|
156
|
-
}, [form.keywords]);
|
|
157
|
-
const handleKeywordsChange = (value) => {
|
|
158
|
-
setKeywordsInput(value);
|
|
159
|
-
};
|
|
160
|
-
const processKeywords = () => {
|
|
161
|
-
const keywords = keywordsInput
|
|
162
|
-
.split(",")
|
|
163
|
-
.map((s) => s.trim())
|
|
164
|
-
.filter(Boolean);
|
|
165
|
-
onChange({ ...form, keywords });
|
|
166
|
-
return keywords;
|
|
167
|
-
};
|
|
168
|
-
const handleKeywordsBlur = () => {
|
|
169
|
-
processKeywords();
|
|
170
|
-
};
|
|
171
|
-
const handleSubmit = () => {
|
|
172
|
-
// Ensure keywords are processed before submitting
|
|
173
|
-
processKeywords();
|
|
174
|
-
onSubmit();
|
|
175
|
-
};
|
|
176
|
-
return (_jsxs(Dialog, { displayCloseButton: true, accessibilityConfig: { title: title, isModal: true }, onClose: onCancel, onCancel: onCancel, onSubmit: handleSubmit, submitOnEnterKey: true, className: "gd-memory-dialog", children: [_jsx("div", { className: "gd-dialog-header-wrapper", children: _jsx("div", { className: "gd-dialog-header", children: _jsx("h3", { className: "gd-dialog-header-title", children: title }) }) }), _jsx("div", { className: "gd-dialog-content", children: _jsxs("form", { className: "gd-memory-dialog-form", onSubmit: (e) => e.preventDefault(), children: [_jsxs("label", { className: "gd-memory-dialog-form-input", children: ["Instruction *", _jsx("textarea", { id: "memory-instruction", className: "gd-input-field s-textarea-field", value: form.instruction, onChange: (e) => onChange({ ...form, instruction: e.target.value }), placeholder: "Enter the instruction text...", rows: 3, required: true })] }), _jsxs("label", { className: "gd-memory-dialog-form-select", children: ["Type", _jsx("div", { className: "gd-memory-dialog-form-select-wrapper", children: _jsx(Dropdown, { alignPoints: [{ align: "bl tl" }], renderButton: ({ toggleDropdown, isOpen }) => (_jsx(DropdownButton, { value: selectedTypeOption?.title || "Select type", onClick: toggleDropdown, isOpen: isOpen })), renderBody: ({ closeDropdown }) => (_jsx(DropdownList, { items: typeOptions, itemsCount: typeOptions.length, renderItem: ({ item }) => (_jsx("div", { className: "gd-list-item s-list-item", onClick: () => {
|
|
177
|
-
onChange({
|
|
178
|
-
...form,
|
|
179
|
-
type: item.id,
|
|
180
|
-
});
|
|
181
|
-
closeDropdown();
|
|
182
|
-
}, children: item.title })), closeDropdown: closeDropdown })) }) })] }), _jsxs("label", { className: "gd-memory-dialog-form-input", children: ["Keywords", _jsx("input", { id: "memory-keywords", className: "gd-input-field s-input-field", type: "text", value: keywordsInput, onChange: (e) => handleKeywordsChange(e.target.value), onBlur: handleKeywordsBlur, placeholder: "keyword1, keyword2, keyword3" })] })] }) }), _jsxs("div", { className: "gd-dialog-footer", children: [_jsx(Button, { onClick: onCancel, className: "gd-button-secondary s-dialog-cancel-button", value: "Cancel" }), _jsx(Button, { onClick: handleSubmit, className: "gd-button-action s-dialog-submit-button", value: "Save" })] })] }));
|
|
183
|
-
}
|
|
184
|
-
//# sourceMappingURL=MemoryMain.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MemoryMain.js","sourceRoot":"","sources":["../../src/memory/MemoryMain.tsx"],"names":[],"mappings":"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"}
|