@gooddata/sdk-ui-catalog 11.56.0-alpha.0 → 11.56.0-alpha.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm/asCode/AsCodeDeleteDialog.js +1 -2
- package/esm/asCode/AsCodeDetailActions.d.ts +1 -1
- package/esm/asCode/AsCodeDetailActions.d.ts.map +1 -1
- package/esm/asCode/AsCodeDialog.js +2 -6
- package/esm/asCode/AsCodeEditorBody.d.ts +1 -1
- package/esm/asCode/AsCodeEditorBody.d.ts.map +1 -1
- package/esm/asCode/asCodeEditorBody.test.utils.d.ts +1 -1
- package/esm/asCode/asCodeEditorBody.test.utils.d.ts.map +1 -1
- package/esm/asCode/withMutationPort.d.ts.map +1 -1
- package/esm/automation/testIds.d.ts +3 -2
- package/esm/automation/testIds.d.ts.map +1 -1
- package/esm/automation/testIds.js +3 -2
- package/esm/catalog/Catalog.d.ts +1 -1
- package/esm/catalog/Catalog.d.ts.map +1 -1
- package/esm/catalog/Catalog.js +1 -2
- package/esm/catalogDetail/CatalogDetailActionBar.d.ts +1 -1
- package/esm/catalogDetail/CatalogDetailActionBar.d.ts.map +1 -1
- package/esm/catalogDetail/CatalogDetailActions.d.ts +1 -1
- package/esm/catalogDetail/CatalogDetailActions.d.ts.map +1 -1
- package/esm/catalogDetail/CatalogDetailActions.js +2 -6
- package/esm/catalogDetail/CatalogDetailConditionalFormatting.d.ts +12 -0
- package/esm/catalogDetail/CatalogDetailConditionalFormatting.d.ts.map +1 -0
- package/esm/catalogDetail/CatalogDetailConditionalFormatting.js +52 -0
- package/esm/catalogDetail/CatalogDetailContent.d.ts +1 -1
- package/esm/catalogDetail/CatalogDetailContent.d.ts.map +1 -1
- package/esm/catalogDetail/CatalogDetailContent.js +6 -7
- package/esm/catalogDetail/CatalogDetailContentRow.d.ts +2 -1
- package/esm/catalogDetail/CatalogDetailContentRow.d.ts.map +1 -1
- package/esm/catalogDetail/CatalogDetailContentRow.js +7 -4
- package/esm/catalogDetail/CatalogDetailGenerateDescription.js +1 -2
- package/esm/catalogDetail/CatalogDetailGenerateTitle.js +1 -2
- package/esm/catalogDetail/CatalogDetailHeader.d.ts +1 -1
- package/esm/catalogDetail/CatalogDetailHeader.d.ts.map +1 -1
- package/esm/catalogDetail/CatalogDetailHeader.js +3 -27
- package/esm/catalogDetail/CatalogDetailMetricSettings.d.ts +1 -1
- package/esm/catalogDetail/CatalogDetailMetricSettings.d.ts.map +1 -1
- package/esm/catalogDetail/CatalogDetailMetricSettings.js +1 -2
- package/esm/catalogDetail/CatalogDetailTabCertification.js +2 -4
- package/esm/catalogDetail/CatalogDetailTabMetadata.d.ts +5 -4
- package/esm/catalogDetail/CatalogDetailTabMetadata.d.ts.map +1 -1
- package/esm/catalogDetail/CatalogDetailTabMetadata.js +7 -13
- package/esm/catalogDetail/CatalogDetailTabQuality.d.ts +1 -1
- package/esm/catalogDetail/CatalogDetailTabQuality.d.ts.map +1 -1
- package/esm/catalogDetail/CatalogDetailTabQuality.js +1 -3
- package/esm/catalogDetail/hooks/useCatalogItemUpdate.d.ts +5 -9
- package/esm/catalogDetail/hooks/useCatalogItemUpdate.d.ts.map +1 -1
- package/esm/catalogDetail/hooks/useCatalogItemUpdate.js +26 -1
- package/esm/catalogDetail/share/CatalogDetailAccessRow.d.ts +6 -7
- package/esm/catalogDetail/share/CatalogDetailAccessRow.d.ts.map +1 -1
- package/esm/catalogDetail/share/CatalogDetailAccessRow.js +15 -23
- package/esm/catalogDetail/share/CatalogItemAccessRow.js +3 -7
- package/esm/catalogDetail/share/CatalogItemShareProvider.d.ts +1 -1
- package/esm/catalogDetail/share/CatalogItemShareProvider.d.ts.map +1 -1
- package/esm/catalogDetail/share/CatalogItemShareProvider.js +10 -2
- package/esm/catalogDetail/share/messages.d.ts +1 -1
- package/esm/catalogDetail/share/messages.d.ts.map +1 -1
- package/esm/catalogDetail/share/messages.js +1 -1
- package/esm/catalogItem/__mocks__/useCatalogItemFeed.d.ts.map +1 -1
- package/esm/catalogItem/catalogBackend.test.utils.d.ts.map +1 -1
- package/esm/catalogItem/converter.d.ts.map +1 -1
- package/esm/catalogItem/converter.js +1 -0
- package/esm/catalogItem/query.d.ts +10 -9
- package/esm/catalogItem/query.d.ts.map +1 -1
- package/esm/catalogItem/query.js +13 -0
- package/esm/catalogItem/types.d.ts +6 -1
- package/esm/catalogItem/types.d.ts.map +1 -1
- package/esm/catalogItem/useCatalogItemFeed.d.ts.map +1 -1
- package/esm/catalogItem/useCatalogItemSemanticSearch.d.ts +1 -1
- package/esm/catalogItem/useCatalogItemSemanticSearch.d.ts.map +1 -1
- package/esm/filter/FilterGroupLayout.js +1 -2
- package/esm/filter/StaticFilter.js +4 -10
- package/esm/header/Header.js +1 -2
- package/esm/insight/insightCodecContext.d.ts +1 -1
- package/esm/insight/insightCodecContext.d.ts.map +1 -1
- package/esm/insight/insightCopy.d.ts.map +1 -1
- package/esm/lineage/Lineage.js +2 -4
- package/esm/localization/bundles/de-DE.localization-bundle.d.ts.map +1 -1
- package/esm/localization/bundles/en-AU.localization-bundle.d.ts.map +1 -1
- package/esm/localization/bundles/en-GB.localization-bundle.d.ts.map +1 -1
- package/esm/localization/bundles/en-US.localization-bundle.d.ts +17 -1
- package/esm/localization/bundles/en-US.localization-bundle.d.ts.map +1 -1
- package/esm/localization/bundles/en-US.localization-bundle.js +23 -7
- package/esm/localization/bundles/es-419.localization-bundle.d.ts.map +1 -1
- package/esm/localization/bundles/es-ES.localization-bundle.d.ts.map +1 -1
- package/esm/localization/bundles/fi-FI.localization-bundle.d.ts.map +1 -1
- package/esm/localization/bundles/fr-CA.localization-bundle.d.ts.map +1 -1
- package/esm/localization/bundles/fr-FR.localization-bundle.d.ts.map +1 -1
- package/esm/localization/bundles/id-ID.localization-bundle.d.ts.map +1 -1
- package/esm/localization/bundles/it-IT.localization-bundle.d.ts.map +1 -1
- package/esm/localization/bundles/ja-JP.localization-bundle.d.ts.map +1 -1
- package/esm/localization/bundles/ko-KR.localization-bundle.d.ts.map +1 -1
- package/esm/localization/bundles/nl-NL.localization-bundle.d.ts.map +1 -1
- package/esm/localization/bundles/pl-PL.localization-bundle.d.ts.map +1 -1
- package/esm/localization/bundles/pt-BR.localization-bundle.d.ts.map +1 -1
- package/esm/localization/bundles/pt-PT.localization-bundle.d.ts.map +1 -1
- package/esm/localization/bundles/ru-RU.localization-bundle.d.ts.map +1 -1
- package/esm/localization/bundles/sl-SI.localization-bundle.d.ts.map +1 -1
- package/esm/localization/bundles/th-TH.localization-bundle.d.ts.map +1 -1
- package/esm/localization/bundles/tr-TR.localization-bundle.d.ts.map +1 -1
- package/esm/localization/bundles/uk-UA.localization-bundle.d.ts.map +1 -1
- package/esm/localization/bundles/vi-VN.localization-bundle.d.ts.map +1 -1
- package/esm/localization/bundles/zh-HK.localization-bundle.d.ts.map +1 -1
- package/esm/localization/bundles/zh-Hans.localization-bundle.d.ts.map +1 -1
- package/esm/localization/bundles/zh-Hant.localization-bundle.d.ts.map +1 -1
- package/esm/main/Main.d.ts +3 -3
- package/esm/main/Main.d.ts.map +1 -1
- package/esm/main/Main.js +2 -9
- package/esm/main/hooks/useCatalogItemOpen.d.ts +2 -2
- package/esm/main/hooks/useCatalogItemOpen.d.ts.map +1 -1
- package/esm/objectType/ObjectTypeSelect.d.ts +1 -1
- package/esm/objectType/ObjectTypeSelect.d.ts.map +1 -1
- package/esm/objectType/constants.d.ts.map +1 -1
- package/esm/parameter/parameterCompletions.d.ts.map +1 -1
- package/esm/parameter/parameterSchema.d.ts.map +1 -1
- package/esm/permission/TestPermissionsProvider.d.ts +1 -1
- package/esm/permission/TestPermissionsProvider.d.ts.map +1 -1
- package/esm/quality/QualityIcon.js +2 -4
- package/esm/quality/QualityIssue.js +1 -2
- package/esm/quality/QualityIssueObjectDetail.js +1 -7
- package/esm/quality/QualityIssueObjects.js +1 -2
- package/esm/quality/QualityScoreCard.js +1 -2
- package/esm/quality/QualityScoreCardAction.d.ts +1 -1
- package/esm/quality/QualityScoreCardAction.d.ts.map +1 -1
- package/esm/quality/QualityScoreCardScore.js +4 -8
- package/esm/sdk-ui-catalog.d.ts +7 -1
- package/esm/table/Table.d.ts +1 -1
- package/esm/table/Table.d.ts.map +1 -1
- package/esm/table/Table.js +1 -2
- package/esm/table/columns/TitleColumn.js +1 -3
- package/esm/tabs/CatalogItemCard.d.ts +2 -2
- package/esm/tabs/CatalogItemCard.d.ts.map +1 -1
- package/esm/tabs/CatalogItemCard.js +2 -5
- package/esm/tabs/CatalogItemCardGrid.d.ts +2 -2
- package/esm/tabs/CatalogItemCardGrid.d.ts.map +1 -1
- package/esm/tabs/CatalogTabPanel.d.ts +2 -2
- package/esm/tabs/CatalogTabPanel.d.ts.map +1 -1
- package/esm/tabs/CatalogTabs.d.ts +2 -2
- package/esm/tabs/CatalogTabs.d.ts.map +1 -1
- package/esm/tabs/CatalogTabs.js +1 -3
- package/package.json +18 -18
- package/styles/css/detail.css +14 -16
- package/styles/css/detail.css.map +1 -1
- package/styles/css/main.css +439 -17
- package/styles/css/main.css.map +1 -1
- package/styles/scss/detail.scss +16 -18
- package/styles/scss/main.scss +1 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CatalogDetailTabMetadata.d.ts","sourceRoot":"","sources":["../../src/catalogDetail/CatalogDetailTabMetadata.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGvC,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"CatalogDetailTabMetadata.d.ts","sourceRoot":"","sources":["../../src/catalogDetail/CatalogDetailTabMetadata.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGvC,OAAO,KAAK,EAAE,8BAA8B,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACnG,OAAO,EAAE,KAAK,SAAS,EAA6B,MAAM,sBAAsB,CAAC;AASjF,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAS5D,KAAK,KAAK,GAAG;IACT,IAAI,EAAE,YAAY,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,CAAC,GAAG,EAAE,SAAS,KAAK,IAAI,CAAC;IACrC,QAAQ,EAAE,CAAC,GAAG,EAAE,SAAS,KAAK,IAAI,CAAC;IACnC,WAAW,EAAE,CAAC,GAAG,EAAE,SAAS,KAAK,IAAI,CAAC;IACtC,gBAAgB,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;IAC9C,uBAAuB,EAAE,CAAC,eAAe,EAAE,OAAO,KAAK,IAAI,CAAC;IAC5D,kBAAkB,CAAC,EAAE,CAAC,UAAU,EAAE,UAAU,GAAG,SAAS,KAAK,IAAI,CAAC;IAClE,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACjD,6BAA6B,CAAC,EAAE,CAC5B,qBAAqB,EAAE,8BAA8B,GAAG,SAAS,KAChE,IAAI,CAAC;IACV,UAAU,CAAC,EAAE,WAAW,CAAC;IACzB,sBAAsB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,2BAA2B,CAAC,EAAE,OAAO,CAAC;IACtC;;;OAGG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;CAC5B,CAAC;AAEF,wBAAgB,wBAAwB,CAAC,EACrC,IAAI,EACJ,OAAO,EACP,UAAU,EACV,QAAQ,EACR,WAAW,EACX,gBAAgB,EAChB,uBAAuB,EACvB,kBAAkB,EAClB,cAAc,EACd,6BAA6B,EAC7B,UAAU,EACV,sBAAsB,EACtB,2BAA2B,EAC3B,SAAS,EACT,cAAc,GACjB,EAAE,KAAK,2CA6JP"}
|
|
@@ -5,32 +5,26 @@ import { FormattedMessage, useIntl } from "react-intl";
|
|
|
5
5
|
import { UiDate, UiIcon, UiTooltip } from "@gooddata/sdk-ui-kit";
|
|
6
6
|
import { isCatalogItemAttribute, isCatalogItemDataSet, isCatalogItemFact, isCatalogItemHidable, isCatalogItemMeasure, } from "../catalogItem/guards.js";
|
|
7
7
|
import {} from "../catalogItem/types.js";
|
|
8
|
+
import { useFeatureFlag } from "../permission/PermissionsContext.js";
|
|
9
|
+
import { CatalogDetailConditionalFormatting } from "./CatalogDetailConditionalFormatting.js";
|
|
8
10
|
import { CatalogDetailContentRow } from "./CatalogDetailContentRow.js";
|
|
9
11
|
import { CatalogDetailGranularities } from "./CatalogDetailGranularities.js";
|
|
10
12
|
import { CatalogDetailMetricSettings } from "./CatalogDetailMetricSettings.js";
|
|
11
13
|
import { CatalogDetailTags } from "./CatalogDetailTags.js";
|
|
12
|
-
export function CatalogDetailTabMetadata({ item, canEdit, onTagClick, onTagAdd, onTagRemove, onIsHiddenChange, onIsHiddenFromKdaChange, onMetricTypeChange, onFormatChange, separators, currencyFormatOverride, enableMetricFormatOverrides, accessRow, showDatasetRow, }) {
|
|
14
|
+
export function CatalogDetailTabMetadata({ item, canEdit, onTagClick, onTagAdd, onTagRemove, onIsHiddenChange, onIsHiddenFromKdaChange, onMetricTypeChange, onFormatChange, onConditionalFormattingChange, separators, currencyFormatOverride, enableMetricFormatOverrides, accessRow, showDatasetRow, }) {
|
|
15
|
+
const enableSemanticConditionalFormatting = useFeatureFlag("enableSemanticConditionalFormatting");
|
|
13
16
|
const intl = useIntl();
|
|
14
17
|
const isMeasure = isCatalogItemMeasure(item);
|
|
15
18
|
const isDataSet = isCatalogItemDataSet(item);
|
|
16
19
|
const granularities = isDataSet ? (item.dataSet.attributes ?? []) : [];
|
|
17
20
|
const datasetTitle = isCatalogItemAttribute(item) || isCatalogItemFact(item) ? item.dataSet?.title : undefined;
|
|
18
|
-
return (_jsxs("dl", { className: "gd-analytics-catalog-detail__tab-content", children: [
|
|
19
|
-
_jsx(FormattedMessage, { id: "analyticsCatalog.column.title.isHidden" }), _jsx(UiTooltip, { anchor: _jsx(UiIcon, { type: "question", size: 12, color: "complementary-6" }), content: _jsx(FormattedMessage, { id: "analyticsCatalog.column.isHidden.field.tooltip" }), arrowPlacement: "left", optimalPlacement: true, offset: 10, width: 280, triggerBy: ["hover", "click"] })
|
|
20
|
-
] }), content: _jsxs("label", { className: "input-checkbox-toggle", children: [
|
|
21
|
-
_jsx("input", { type: "checkbox", checked: item.isHidden !== true, disabled: !canEdit, "aria-label": intl.formatMessage({
|
|
21
|
+
return (_jsxs("dl", { className: "gd-analytics-catalog-detail__tab-content", children: [showDatasetRow && datasetTitle ? (_jsx(CatalogDetailContentRow, { title: _jsx(FormattedMessage, { id: "analyticsCatalog.column.title.dataSet" }), content: datasetTitle })) : null, isDataSet && granularities.length > 0 ? (_jsx(CatalogDetailContentRow, { title: _jsx(FormattedMessage, { id: "analyticsCatalog.column.title.granularities" }), content: _jsx(CatalogDetailGranularities, { granularities: granularities }) })) : null, _jsx(CatalogDetailContentRow, { title: _jsx(FormattedMessage, { id: "analyticsCatalog.column.title.createdBy" }), content: item.createdBy ?? undefined }), _jsx(CatalogDetailContentRow, { title: _jsx(FormattedMessage, { id: "analyticsCatalog.column.title.createdAt" }), content: item.createdAt ? _jsx(UiDate, { date: item.createdAt, locale: intl.locale }) : undefined }), item.createdBy === item.updatedBy && !item.updatedBy ? null : (_jsx(CatalogDetailContentRow, { title: _jsx(FormattedMessage, { id: "analyticsCatalog.column.title.updatedBy" }), content: item.updatedBy ?? undefined })), item.createdAt?.getTime() === item.updatedAt?.getTime() ? null : (_jsx(CatalogDetailContentRow, { title: _jsx(FormattedMessage, { id: "analyticsCatalog.column.title.updatedAt" }), content: item.updatedAt ? _jsx(UiDate, { date: item.updatedAt, locale: intl.locale }) : undefined })), isCatalogItemHidable(item) ? (_jsx(CatalogDetailContentRow, { title: _jsxs(_Fragment, { children: [_jsx(FormattedMessage, { id: "analyticsCatalog.column.title.isHidden" }), _jsx(UiTooltip, { anchor: _jsx(UiIcon, { type: "question", size: 12, color: "complementary-6" }), content: _jsx(FormattedMessage, { id: "analyticsCatalog.column.isHidden.field.tooltip" }), arrowPlacement: "left", optimalPlacement: true, offset: 10, width: 280, triggerBy: ["hover", "click"] })] }), content: _jsxs("label", { className: "input-checkbox-toggle", children: [_jsx("input", { type: "checkbox", checked: item.isHidden !== true, disabled: !canEdit, "aria-label": intl.formatMessage({
|
|
22
22
|
id: "analyticsCatalog.column.title.isHidden",
|
|
23
23
|
}), onChange: (event) => {
|
|
24
24
|
onIsHiddenChange(!event.target.checked);
|
|
25
|
-
}, className: cx("s-checkbox-toggle", canEdit ? "s-enabled" : "s-disabled") }), _jsx("span", { className: "input-label-text" })
|
|
26
|
-
] }) })) : null, isMeasure ? (_jsx(CatalogDetailContentRow, { title: _jsxs(_Fragment, { children: [
|
|
27
|
-
_jsx(FormattedMessage, { id: "analyticsCatalog.column.title.isHiddenFromKda" }), _jsx(UiTooltip, { anchor: _jsx(UiIcon, { type: "question", size: 12, color: "complementary-6" }), content: _jsx(FormattedMessage, { id: "analyticsCatalog.column.isHiddenFromKda.field.tooltip" }), arrowPlacement: "left", optimalPlacement: true, offset: 10, width: 280, triggerBy: ["hover", "click"] })
|
|
28
|
-
] }), content: _jsxs("label", { className: "input-checkbox-toggle", children: [
|
|
29
|
-
_jsx("input", { type: "checkbox", checked: item.isHiddenFromKda !== true, disabled: !canEdit, "aria-label": intl.formatMessage({
|
|
25
|
+
}, className: cx("s-checkbox-toggle", canEdit ? "s-enabled" : "s-disabled") }), _jsx("span", { className: "input-label-text" })] }) })) : null, isMeasure ? (_jsx(CatalogDetailContentRow, { title: _jsxs(_Fragment, { children: [_jsx(FormattedMessage, { id: "analyticsCatalog.column.title.isHiddenFromKda" }), _jsx(UiTooltip, { anchor: _jsx(UiIcon, { type: "question", size: 12, color: "complementary-6" }), content: _jsx(FormattedMessage, { id: "analyticsCatalog.column.isHiddenFromKda.field.tooltip" }), arrowPlacement: "left", optimalPlacement: true, offset: 10, width: 280, triggerBy: ["hover", "click"] })] }), content: _jsxs("label", { className: "input-checkbox-toggle", children: [_jsx("input", { type: "checkbox", checked: item.isHiddenFromKda !== true, disabled: !canEdit, "aria-label": intl.formatMessage({
|
|
30
26
|
id: "analyticsCatalog.column.title.isHiddenFromKda",
|
|
31
27
|
}), onChange: (event) => {
|
|
32
28
|
onIsHiddenFromKdaChange(!event.target.checked);
|
|
33
|
-
}, className: cx("s-checkbox-toggle", canEdit ? "s-enabled" : "s-disabled") }), _jsx("span", { className: "input-label-text" })
|
|
34
|
-
] }) })) : null, isMeasure && enableMetricFormatOverrides ? (_jsx(CatalogDetailMetricSettings, { metricType: item.metricType, format: item.format, canEdit: canEdit, separators: separators, currencyFormatOverride: currencyFormatOverride, onMetricTypeChange: onMetricTypeChange, onFormatChange: onFormatChange, enableMetricFormatOverrides: enableMetricFormatOverrides })) : null, _jsx(CatalogDetailContentRow, { title: _jsx(FormattedMessage, { id: "analyticsCatalog.column.title.tags" }), content: _jsx(CatalogDetailTags, { tags: item.tags, canEdit: canEdit, onTagClick: onTagClick, onTagAdd: onTagAdd, onTagRemove: onTagRemove }) })
|
|
35
|
-
] }));
|
|
29
|
+
}, className: cx("s-checkbox-toggle", canEdit ? "s-enabled" : "s-disabled") }), _jsx("span", { className: "input-label-text" })] }) })) : null, isMeasure && enableMetricFormatOverrides ? (_jsx(CatalogDetailMetricSettings, { metricType: item.metricType, format: item.format, canEdit: canEdit, separators: separators, currencyFormatOverride: currencyFormatOverride, onMetricTypeChange: onMetricTypeChange, onFormatChange: onFormatChange, enableMetricFormatOverrides: enableMetricFormatOverrides })) : null, isMeasure && enableSemanticConditionalFormatting && onConditionalFormattingChange ? (_jsx(CatalogDetailConditionalFormatting, { identifier: item.identifier, title: item.title, format: item.format, conditionalFormatting: item.conditionalFormatting, canEdit: canEdit, onConditionalFormattingChange: onConditionalFormattingChange, separators: separators })) : null, accessRow, _jsx(CatalogDetailContentRow, { title: _jsx(FormattedMessage, { id: "analyticsCatalog.column.title.tags" }), content: _jsx(CatalogDetailTags, { tags: item.tags, canEdit: canEdit, onTagClick: onTagClick, onTagAdd: onTagAdd, onTagRemove: onTagRemove }) })] }));
|
|
36
30
|
}
|
|
@@ -8,6 +8,6 @@ type Props = {
|
|
|
8
8
|
onEditClick?: (attributeName: SemanticQualityIssueAttributeName) => void;
|
|
9
9
|
onCatalogItemNavigation?: (event: MouseEvent, ref: ICatalogItemRef) => void;
|
|
10
10
|
};
|
|
11
|
-
export declare function CatalogDetailTabQuality({ item, issues, canEdit, onEditClick, onCatalogItemNavigation }: Props): import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
export declare function CatalogDetailTabQuality({ item, issues, canEdit, onEditClick, onCatalogItemNavigation, }: Props): import("react/jsx-runtime").JSX.Element;
|
|
12
12
|
export {};
|
|
13
13
|
//# sourceMappingURL=CatalogDetailTabQuality.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CatalogDetailTabQuality.d.ts","sourceRoot":"","sources":["../../src/catalogDetail/CatalogDetailTabQuality.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,OAAO,CAAC;AAIxC,OAAO,EAAE,KAAK,qBAAqB,EAAE,KAAK,iCAAiC,EAAE,MAAM,qBAAqB,CAAC;AAGzG,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAGlF,KAAK,KAAK,GAAG;IACT,IAAI,EAAE,YAAY,CAAC;IACnB,MAAM,EAAE,qBAAqB,EAAE,CAAC;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,CAAC,aAAa,EAAE,iCAAiC,KAAK,IAAI,CAAC;IACzE,uBAAuB,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,eAAe,KAAK,IAAI,CAAC;CAC/E,CAAC;AAEF,wBAAgB,uBAAuB,CAAC,EACpC,IAAI,EACJ,MAAM,EACN,OAAO,EACP,WAAW,EACX,uBAAuB,
|
|
1
|
+
{"version":3,"file":"CatalogDetailTabQuality.d.ts","sourceRoot":"","sources":["../../src/catalogDetail/CatalogDetailTabQuality.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,OAAO,CAAC;AAIxC,OAAO,EAAE,KAAK,qBAAqB,EAAE,KAAK,iCAAiC,EAAE,MAAM,qBAAqB,CAAC;AAGzG,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAGlF,KAAK,KAAK,GAAG;IACT,IAAI,EAAE,YAAY,CAAC;IACnB,MAAM,EAAE,qBAAqB,EAAE,CAAC;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,CAAC,aAAa,EAAE,iCAAiC,KAAK,IAAI,CAAC;IACzE,uBAAuB,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,eAAe,KAAK,IAAI,CAAC;CAC/E,CAAC;AAEF,wBAAgB,uBAAuB,CAAC,EACpC,IAAI,EACJ,MAAM,EACN,OAAO,EACP,WAAW,EACX,uBAAuB,GAC1B,EAAE,KAAK,2CAsBP"}
|
|
@@ -7,7 +7,5 @@ import { UiIcon } from "@gooddata/sdk-ui-kit";
|
|
|
7
7
|
import {} from "../catalogItem/types.js";
|
|
8
8
|
import { QualityIssue } from "../quality/QualityIssue.js";
|
|
9
9
|
export function CatalogDetailTabQuality({ item, issues, canEdit, onEditClick, onCatalogItemNavigation, }) {
|
|
10
|
-
return (_jsx("div", { className: "gd-analytics-catalog-detail__tab-quality", children: issues.length > 0 ? (issues.map((issue) => (_jsx(QualityIssue, { objectId: item.identifier, issue: issue, canEdit: canEdit, onEditClick: onEditClick, onObjectClick: onCatalogItemNavigation }, issue.id)))) : (_jsxs("div", { className: "gd-analytics-catalog-detail__tab-quality__empty", children: [
|
|
11
|
-
_jsx(UiIcon, { type: "checkCircle", size: 26, color: "currentColor" }), _jsx(FormattedMessage, { id: "analyticsCatalog.catalogItem.tab.quality.empty" })
|
|
12
|
-
] })) }));
|
|
10
|
+
return (_jsx("div", { className: "gd-analytics-catalog-detail__tab-quality", children: issues.length > 0 ? (issues.map((issue) => (_jsx(QualityIssue, { objectId: item.identifier, issue: issue, canEdit: canEdit, onEditClick: onEditClick, onObjectClick: onCatalogItemNavigation }, issue.id)))) : (_jsxs("div", { className: "gd-analytics-catalog-detail__tab-quality__empty", children: [_jsx(UiIcon, { type: "checkCircle", size: 26, color: "currentColor" }), _jsx(FormattedMessage, { id: "analyticsCatalog.catalogItem.tab.quality.empty" })] })) }));
|
|
13
11
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type
|
|
2
|
-
import { type ICatalogItem, type ICatalogItemRef } from "../../catalogItem/types.js";
|
|
1
|
+
import { type IUser, type MetricType } from "@gooddata/sdk-model";
|
|
2
|
+
import { type ICatalogItem, type ICatalogItemMeasure, type ICatalogItemRef } from "../../catalogItem/types.js";
|
|
3
3
|
import { type ObjectType } from "../../objectType/types.js";
|
|
4
4
|
export interface IUseCatalogItemUpdate {
|
|
5
5
|
currentUser: IUser | null | undefined;
|
|
@@ -10,7 +10,7 @@ export interface IUseCatalogItemUpdate {
|
|
|
10
10
|
onDelete?: (ref: ICatalogItemRef) => void;
|
|
11
11
|
onError?: (error: Error) => void;
|
|
12
12
|
}
|
|
13
|
-
export declare function useCatalogItemUpdate({ currentUser, objectId, objectType, objectDefinition, onUpdate, onDelete, onError }: IUseCatalogItemUpdate): {
|
|
13
|
+
export declare function useCatalogItemUpdate({ currentUser, objectId, objectType, objectDefinition, onUpdate, onDelete, onError, }: IUseCatalogItemUpdate): {
|
|
14
14
|
item: ICatalogItem | null | undefined;
|
|
15
15
|
status: "error" | "loading" | "pending" | "success";
|
|
16
16
|
error: Error | undefined;
|
|
@@ -21,12 +21,8 @@ export declare function useCatalogItemUpdate({ currentUser, objectId, objectType
|
|
|
21
21
|
updateItemIsHiddenFromKda: (isHiddenFromKda: boolean) => void;
|
|
22
22
|
updateItemMetricType: (metricType: MetricType | undefined) => void;
|
|
23
23
|
updateItemFormat: (format: string | null) => void;
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
message?: string | undefined;
|
|
27
|
-
certifiedAt?: Date | null | undefined;
|
|
28
|
-
certifiedBy?: string | undefined;
|
|
29
|
-
} | undefined) => void;
|
|
24
|
+
updateItemConditionalFormatting: (conditionalFormatting: ICatalogItemMeasure["conditionalFormatting"]) => void;
|
|
25
|
+
updateItemCertification: (certification: ICatalogItem["certification"]) => void;
|
|
30
26
|
applyItemUpdate: (updated: ICatalogItem) => void;
|
|
31
27
|
applyItemDelete: (ref: ICatalogItemRef) => void;
|
|
32
28
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useCatalogItemUpdate.d.ts","sourceRoot":"","sources":["../../../src/catalogDetail/hooks/useCatalogItemUpdate.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,KAAK,
|
|
1
|
+
{"version":3,"file":"useCatalogItemUpdate.d.ts","sourceRoot":"","sources":["../../../src/catalogDetail/hooks/useCatalogItemUpdate.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,KAAK,EAAE,KAAK,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAUlE,OAAO,EACH,KAAK,YAAY,EACjB,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACvB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAI5D,MAAM,WAAW,qBAAqB;IAClC,WAAW,EAAE,KAAK,GAAG,IAAI,GAAG,SAAS,CAAC;IACtC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,UAAU,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC;IAC/B,gBAAgB,CAAC,EAAE,eAAe,GAAG,YAAY,GAAG,IAAI,CAAC;IACzD,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,IAAI,CAAC;IACxC,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,eAAe,KAAK,IAAI,CAAC;IAC1C,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CACpC;AAID,wBAAgB,oBAAoB,CAAC,EACjC,WAAW,EACX,QAAQ,EACR,UAAU,EACV,gBAAgB,EAChB,QAAQ,EACR,QAAQ,EACR,OAAO,GACV,EAAE,qBAAqB;;;;6BA4DR,MAAM;yCAsBA,MAAM;2BAsBb,MAAM,EAAE;mCAsBJ,OAAO;iDA0BA,OAAO;uCA8BZ,UAAU,GAAG,SAAS;+BA2B1B,MAAM,GAAG,IAAI;6DA+BE,mBAAmB,CAAC,uBAAuB,CAAC;6CAwCpD,YAAY,CAAC,eAAe,CAAC;+BA9OnC,YAAY;2BAUhB,eAAe;EA8R5B"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
// (C) 2025-2026 GoodData Corporation
|
|
2
2
|
import { useCallback, useEffect, useState } from "react";
|
|
3
3
|
import { isEqual } from "lodash-es";
|
|
4
|
+
import {} from "@gooddata/sdk-model";
|
|
4
5
|
import { useBackendStrict, useWorkspaceStrict } from "@gooddata/sdk-ui";
|
|
5
6
|
import { getDisplayName } from "../../catalogItem/converter.js";
|
|
6
7
|
import { isCatalogItemHidable, isCatalogItemLoaded, isCatalogItemMeasure } from "../../catalogItem/guards.js";
|
|
7
|
-
import { updateCatalogItem, updateCatalogItemCertification } from "../../catalogItem/query.js";
|
|
8
|
+
import { persistMeasureConditionalFormatting, updateCatalogItem, updateCatalogItemCertification, } from "../../catalogItem/query.js";
|
|
8
9
|
import {} from "../../catalogItem/types.js";
|
|
9
10
|
import { useMounted } from "../../hooks/useMounted.js";
|
|
10
11
|
import {} from "../../objectType/types.js";
|
|
@@ -130,6 +131,29 @@ export function useCatalogItemUpdate({ currentUser, objectId, objectType, object
|
|
|
130
131
|
revertItemUpdate(err, item);
|
|
131
132
|
}, persistMeasureChanges);
|
|
132
133
|
}, [backend, currentUser, item, onUpdate, persistMeasureChanges, revertItemUpdate, status, workspace]);
|
|
134
|
+
const persistMeasureConditionalFormattingChanges = useCallback((nextItem) => persistMeasureConditionalFormatting(backend, workspace, nextItem), [backend, workspace]);
|
|
135
|
+
const updateItemConditionalFormatting = useCallback((conditionalFormatting) => {
|
|
136
|
+
if (!isCatalogItemMeasure(item)) {
|
|
137
|
+
return;
|
|
138
|
+
}
|
|
139
|
+
updateItem(backend, workspace, currentUser, item, status !== "success", () => ({
|
|
140
|
+
conditionalFormatting,
|
|
141
|
+
}), (newItem) => {
|
|
142
|
+
setItem(newItem);
|
|
143
|
+
onUpdate?.(newItem);
|
|
144
|
+
}, (err) => {
|
|
145
|
+
revertItemUpdate(err, item);
|
|
146
|
+
}, persistMeasureConditionalFormattingChanges);
|
|
147
|
+
}, [
|
|
148
|
+
backend,
|
|
149
|
+
currentUser,
|
|
150
|
+
item,
|
|
151
|
+
onUpdate,
|
|
152
|
+
persistMeasureConditionalFormattingChanges,
|
|
153
|
+
revertItemUpdate,
|
|
154
|
+
status,
|
|
155
|
+
workspace,
|
|
156
|
+
]);
|
|
133
157
|
const persistCertificationChanges = useCallback((newItem) => updateCatalogItemCertification(backend, workspace, newItem), [backend, workspace]);
|
|
134
158
|
const updateItemCertification = useCallback((certification) => {
|
|
135
159
|
updateItem(backend, workspace, currentUser, item, status !== "success", () => ({
|
|
@@ -171,6 +195,7 @@ export function useCatalogItemUpdate({ currentUser, objectId, objectType, object
|
|
|
171
195
|
updateItemIsHiddenFromKda,
|
|
172
196
|
updateItemMetricType,
|
|
173
197
|
updateItemFormat,
|
|
198
|
+
updateItemConditionalFormatting,
|
|
174
199
|
updateItemCertification,
|
|
175
200
|
applyItemUpdate,
|
|
176
201
|
applyItemDelete,
|
|
@@ -1,19 +1,18 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type IObjectAccessSummary } from "@gooddata/sdk-ui-ext";
|
|
2
2
|
/**
|
|
3
3
|
* @internal
|
|
4
4
|
*/
|
|
5
5
|
export interface ICatalogDetailAccessRowProps {
|
|
6
6
|
summary: IObjectAccessSummary;
|
|
7
|
-
onOpen: () => void;
|
|
8
7
|
}
|
|
9
8
|
/**
|
|
10
|
-
*
|
|
9
|
+
* Static description of who can reach the object, for the metadata grid. Workspace-wide
|
|
10
|
+
* access and named grantees are independent, so both lines can show at once; neither one
|
|
11
|
+
* showing means nobody but the caller has access.
|
|
11
12
|
*
|
|
12
|
-
* -
|
|
13
|
-
* the permission level.
|
|
14
|
-
* - Grantee count chip: users icon + "Shared with N" link that opens the dialog.
|
|
13
|
+
* Read-only by design — the header's Share button is the way in to editing access.
|
|
15
14
|
*
|
|
16
15
|
* @internal
|
|
17
16
|
*/
|
|
18
|
-
export declare function CatalogDetailAccessRow({ summary
|
|
17
|
+
export declare function CatalogDetailAccessRow({ summary }: ICatalogDetailAccessRowProps): import("react/jsx-runtime").JSX.Element;
|
|
19
18
|
//# sourceMappingURL=CatalogDetailAccessRow.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CatalogDetailAccessRow.d.ts","sourceRoot":"","sources":["../../../src/catalogDetail/share/CatalogDetailAccessRow.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"CatalogDetailAccessRow.d.ts","sourceRoot":"","sources":["../../../src/catalogDetail/share/CatalogDetailAccessRow.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,oBAAoB,EAA4B,MAAM,sBAAsB,CAAC;AAa3F;;GAEG;AACH,MAAM,WAAW,4BAA4B;IACzC,OAAO,EAAE,oBAAoB,CAAC;CACjC;AAmBD;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CAAC,EAAE,OAAO,EAAE,EAAE,4BAA4B,2CAgC/E"}
|
|
@@ -1,37 +1,29 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
|
|
3
|
-
import {
|
|
2
|
+
import { FormattedMessage } from "react-intl";
|
|
3
|
+
import { summaryOtherGranteeCount } from "@gooddata/sdk-ui-ext";
|
|
4
4
|
import { UiIcon } from "@gooddata/sdk-ui-kit";
|
|
5
|
-
import { catalogDetailAccessRow,
|
|
5
|
+
import { catalogDetailAccessRow, catalogDetailAccessRowPrivate, catalogDetailAccessRowShared, catalogDetailAccessRowWorkspace, } from "../../automation/testIds.js";
|
|
6
6
|
import { CatalogDetailContentRow } from "../CatalogDetailContentRow.js";
|
|
7
7
|
import { shareMessages } from "./messages.js";
|
|
8
|
-
|
|
9
|
-
const WORKSPACE_ACCESS_ROW_MESSAGE = {
|
|
8
|
+
const WORKSPACE_MESSAGE = {
|
|
10
9
|
EDIT: shareMessages.accessRowWorkspaceEdit,
|
|
11
10
|
SHARE: shareMessages.accessRowWorkspaceShare,
|
|
12
11
|
VIEW: shareMessages.accessRowWorkspaceView,
|
|
13
12
|
};
|
|
13
|
+
function AccessLine({ icon, testId, children }) {
|
|
14
|
+
return (_jsxs("li", { className: "gd-analytics-catalog-detail__access-row__line", "data-testid": testId, children: [_jsx("span", { className: "gd-analytics-catalog-detail__access-row__icon", children: _jsx(UiIcon, { type: icon, size: 14, color: "complementary-7" }) }), _jsx("span", { children: children })] }));
|
|
15
|
+
}
|
|
14
16
|
/**
|
|
15
|
-
*
|
|
17
|
+
* Static description of who can reach the object, for the metadata grid. Workspace-wide
|
|
18
|
+
* access and named grantees are independent, so both lines can show at once; neither one
|
|
19
|
+
* showing means nobody but the caller has access.
|
|
16
20
|
*
|
|
17
|
-
* -
|
|
18
|
-
* the permission level.
|
|
19
|
-
* - Grantee count chip: users icon + "Shared with N" link that opens the dialog.
|
|
21
|
+
* Read-only by design — the header's Share button is the way in to editing access.
|
|
20
22
|
*
|
|
21
23
|
* @internal
|
|
22
24
|
*/
|
|
23
|
-
export function CatalogDetailAccessRow({ summary
|
|
24
|
-
const
|
|
25
|
-
const
|
|
26
|
-
|
|
27
|
-
? shareMessages.accessRowRestricted
|
|
28
|
-
: WORKSPACE_ACCESS_ROW_MESSAGE[workspaceLevel]);
|
|
29
|
-
const stateIcon = generalAccess === "RESTRICTED" ? "lock" : "building";
|
|
30
|
-
return (_jsx(CatalogDetailContentRow, { title: _jsx(FormattedMessage, { ...shareMessages.accessRowLabel }), content: _jsxs("div", { className: "gd-analytics-catalog-detail__access-row", "data-testid": catalogDetailAccessRow, children: [
|
|
31
|
-
_jsxs("span", { className: "gd-analytics-catalog-detail__access-row__chip", "data-testid": catalogDetailAccessRowState, children: [
|
|
32
|
-
_jsx("span", { className: "gd-analytics-catalog-detail__access-row__chip-icon", children: _jsx(UiIcon, { type: stateIcon, size: 14, color: "complementary-7" }) }), _jsx("span", { children: stateText })
|
|
33
|
-
] }), _jsxs("button", { type: "button", className: "gd-analytics-catalog-detail__access-row__chip gd-analytics-catalog-detail__access-row__shared-link", onClick: onOpen, "data-testid": catalogDetailAccessRowSharedLink, children: [
|
|
34
|
-
_jsx("span", { className: "gd-analytics-catalog-detail__access-row__chip-icon", children: _jsx(UiIcon, { type: "users", size: 14, color: "complementary-7" }) }), _jsx("span", { children: _jsx(FormattedMessage, { ...shareMessages.accessRowSharedWith, values: { count: granteeCount } }) })
|
|
35
|
-
] })
|
|
36
|
-
] }) }));
|
|
25
|
+
export function CatalogDetailAccessRow({ summary }) {
|
|
26
|
+
const isWorkspaceWide = summary.generalAccess === "WORKSPACE";
|
|
27
|
+
const otherGrantees = summaryOtherGranteeCount(summary);
|
|
28
|
+
return (_jsx(CatalogDetailContentRow, { alignTop: true, title: _jsx(FormattedMessage, { ...shareMessages.accessRowLabel }), content: _jsxs("ul", { className: "gd-analytics-catalog-detail__access-row", "data-testid": catalogDetailAccessRow, children: [isWorkspaceWide ? (_jsx(AccessLine, { icon: "building", testId: catalogDetailAccessRowWorkspace, children: _jsx(FormattedMessage, { ...WORKSPACE_MESSAGE[summary.workspaceLevel] }) })) : null, otherGrantees > 0 ? (_jsx(AccessLine, { icon: "users", testId: catalogDetailAccessRowShared, children: _jsx(FormattedMessage, { ...shareMessages.accessRowSharedWith, values: { count: otherGrantees } }) })) : null, !isWorkspaceWide && otherGrantees === 0 ? (_jsx(AccessLine, { icon: "invisible", testId: catalogDetailAccessRowPrivate, children: _jsx(FormattedMessage, { ...shareMessages.accessRowPrivate }) })) : null] }) }));
|
|
37
29
|
}
|
|
@@ -4,7 +4,7 @@ import { FormattedMessage } from "react-intl";
|
|
|
4
4
|
import { UiSkeleton } from "@gooddata/sdk-ui-kit";
|
|
5
5
|
import { CatalogDetailContentRow } from "../CatalogDetailContentRow.js";
|
|
6
6
|
import { CatalogDetailAccessRow } from "./CatalogDetailAccessRow.js";
|
|
7
|
-
import {
|
|
7
|
+
import { useCatalogItemShareState } from "./CatalogItemShareProvider.js";
|
|
8
8
|
import { shareMessages } from "./messages.js";
|
|
9
9
|
/**
|
|
10
10
|
* Inline access row for the metadata tab, wired to the share context. Renders the
|
|
@@ -18,15 +18,11 @@ import { shareMessages } from "./messages.js";
|
|
|
18
18
|
*/
|
|
19
19
|
export function CatalogItemAccessRow() {
|
|
20
20
|
const { active, summary, summaryError } = useCatalogItemShareState();
|
|
21
|
-
const { open } = useCatalogItemShareActions();
|
|
22
21
|
if (!active) {
|
|
23
22
|
return null;
|
|
24
23
|
}
|
|
25
24
|
if (summary) {
|
|
26
|
-
return _jsx(CatalogDetailAccessRow, { summary: summary
|
|
25
|
+
return _jsx(CatalogDetailAccessRow, { summary: summary });
|
|
27
26
|
}
|
|
28
|
-
return (_jsx(CatalogDetailContentRow, { title: _jsx(FormattedMessage, { ...shareMessages.accessRowLabel }), content: summaryError ? (
|
|
29
|
-
// role="alert": the error replaces the skeleton after an async
|
|
30
|
-
// failure — it must be announced, not just inserted.
|
|
31
|
-
_jsx("span", { role: "alert", children: _jsx(FormattedMessage, { ...shareMessages.accessRowError }) })) : (_jsx(UiSkeleton, { itemWidth: 200, itemHeight: 20 })) }));
|
|
27
|
+
return (_jsx(CatalogDetailContentRow, { alignTop: true, title: _jsx(FormattedMessage, { ...shareMessages.accessRowLabel }), content: summaryError ? (_jsx("span", { role: "alert", children: _jsx(FormattedMessage, { ...shareMessages.accessRowError }) })) : (_jsx(UiSkeleton, { direction: "row", itemWidth: 200, itemHeight: 20 })) }));
|
|
32
28
|
}
|
|
@@ -66,7 +66,7 @@ export interface ICatalogItemShareProviderProps {
|
|
|
66
66
|
*
|
|
67
67
|
* @internal
|
|
68
68
|
*/
|
|
69
|
-
export declare function CatalogItemShareProvider({ shareableItem, target, labels, children }: ICatalogItemShareProviderProps): import("react/jsx-runtime").JSX.Element;
|
|
69
|
+
export declare function CatalogItemShareProvider({ shareableItem, target, labels, children, }: ICatalogItemShareProviderProps): import("react/jsx-runtime").JSX.Element;
|
|
70
70
|
/**
|
|
71
71
|
* Page share state (summary, open flag, dialog inputs) for the current catalog item.
|
|
72
72
|
* Reports `active: false` when sharing is unavailable.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CatalogItemShareProvider.d.ts","sourceRoot":"","sources":["../../../src/catalogDetail/share/CatalogItemShareProvider.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,SAAS,EAA6D,MAAM,OAAO,CAAC;AAElG,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"CatalogItemShareProvider.d.ts","sourceRoot":"","sources":["../../../src/catalogDetail/share/CatalogItemShareProvider.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,SAAS,EAA6D,MAAM,OAAO,CAAC;AAElG,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAE1E,OAAO,EACH,KAAK,oBAAoB,EAG5B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AACvD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAEhE;;;;;GAKG;AACH,UAAU,sBAAsB;IAC5B,MAAM,EAAE,OAAO,CAAC;IAChB;;;OAGG;IACH,OAAO,EAAE,oBAAoB,GAAG,SAAS,CAAC;IAC1C;;;;;OAKG;IACH,YAAY,EAAE,OAAO,CAAC;IACtB,MAAM,EAAE,wBAAwB,GAAG,SAAS,CAAC;IAC7C,WAAW,EAAE,MAAM,CAAC;IACpB,gEAAgE;IAChE,MAAM,EAAE,OAAO,CAAC;IAChB,yDAAyD;IACzD,MAAM,EAAE,gBAAgB,CAAC;CAC5B;AAED;;;GAGG;AACH,UAAU,wBAAwB;IAC9B,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,kGAAkG;IAClG,eAAe,EAAE,CAAC,OAAO,EAAE,oBAAoB,KAAK,IAAI,CAAC;CAC5D;AAyBD;;GAEG;AACH,MAAM,WAAW,8BAA8B;IAC3C,+FAA+F;IAC/F,aAAa,EAAE,oBAAoB,GAAG,SAAS,CAAC;IAChD,sDAAsD;IACtD,MAAM,EAAE,wBAAwB,GAAG,SAAS,CAAC;IAC7C,mFAAmF;IACnF,MAAM,EAAE,gBAAgB,CAAC;IACzB,QAAQ,EAAE,SAAS,CAAC;CACvB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,wBAAwB,CAAC,EACrC,aAAa,EACb,MAAM,EACN,MAAM,EACN,QAAQ,GACX,EAAE,8BAA8B,2CAyHhC;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,IAAI,sBAAsB,CAEjE;AAED;;;;;;GAMG;AACH,wBAAgB,0BAA0B,IAAI,wBAAwB,CAErE"}
|
|
@@ -73,9 +73,17 @@ export function CatalogItemShareProvider({ shareableItem, target, labels, childr
|
|
|
73
73
|
const summaryUnknown = summary === undefined;
|
|
74
74
|
const { status, error } = useCancelablePromise({
|
|
75
75
|
promise: target && summaryUnknown
|
|
76
|
-
? () =>
|
|
76
|
+
? async () => {
|
|
77
|
+
// The profile tells the caller's own grant from everyone else's. Without
|
|
78
|
+
// it no count can be trusted, so a failure here fails the whole read.
|
|
79
|
+
const [list, self] = await Promise.all([
|
|
80
|
+
backend.workspace(workspace).objectPermissions().getAccessList(target),
|
|
81
|
+
backend.currentUser().getUser(),
|
|
82
|
+
]);
|
|
83
|
+
return accessListToSummary(list, self);
|
|
84
|
+
}
|
|
77
85
|
: undefined,
|
|
78
|
-
onSuccess: (
|
|
86
|
+
onSuccess: (next) => setSummary((prev) => prev ?? next),
|
|
79
87
|
onError: () => { },
|
|
80
88
|
}, [backend, workspace, itemKey, summaryUnknown]);
|
|
81
89
|
// Sharing is offered only while the access list is reachable. The permissions
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../../src/catalogDetail/share/messages.ts"],"names":[],"mappings":"AAIA;;;;GAIG;AACH,eAAO,MAAM,aAAa
|
|
1
|
+
{"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../../src/catalogDetail/share/messages.ts"],"names":[],"mappings":"AAIA;;;;GAIG;AACH,eAAO,MAAM,aAAa;;QACP,EAAE;;;QACC,EAAE;;;QACF,EAAE;;;QACA,EAAE;;;QACI,EAAE;;;QACD,EAAE;;;QACH,EAAE;;;QACL,EAAE;;CAC3B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,cAAc;;QACf,EAAE;;;QACU,EAAE;;;QACR,EAAE;;;QACF,EAAE;;CAClB,CAAC"}
|
|
@@ -9,7 +9,7 @@ export const shareMessages = defineMessages({
|
|
|
9
9
|
shareButton: { id: "analyticsCatalog.share.button" },
|
|
10
10
|
accessRowLabel: { id: "analyticsCatalog.share.access.row.label" },
|
|
11
11
|
accessRowError: { id: "analyticsCatalog.share.access.row.error" },
|
|
12
|
-
|
|
12
|
+
accessRowPrivate: { id: "analyticsCatalog.share.access.row.private" },
|
|
13
13
|
accessRowWorkspaceView: { id: "analyticsCatalog.share.access.row.workspace.view" },
|
|
14
14
|
accessRowWorkspaceShare: { id: "analyticsCatalog.share.access.row.workspace.share" },
|
|
15
15
|
accessRowWorkspaceEdit: { id: "analyticsCatalog.share.access.row.workspace.edit" },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useCatalogItemFeed.d.ts","sourceRoot":"","sources":["../../../src/catalogItem/__mocks__/useCatalogItemFeed.ts"],"names":[],"mappings":"AAEA,wBAAgB,kBAAkB
|
|
1
|
+
{"version":3,"file":"useCatalogItemFeed.d.ts","sourceRoot":"","sources":["../../../src/catalogItem/__mocks__/useCatalogItemFeed.ts"],"names":[],"mappings":"AAEA,wBAAgB,kBAAkB;IAE1B,KAAK;IACL,KAAK;IACL,MAAM,EAAE,SAAS;IACjB,UAAU;IACV,gBAAgB;QACZ,mBAAmB;QACnB,OAAO;QACP,OAAO;QACP,SAAS;QACT,SAAS;QACT,IAAI;QACJ,OAAO;;IAEX,OAAO;IACP,IAAI;IACJ,UAAU;IACV,UAAU;IACV,iBAAiB;EAExB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"catalogBackend.test.utils.d.ts","sourceRoot":"","sources":["../../src/catalogItem/catalogBackend.test.utils.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,IAAI,EAAM,MAAM,QAAQ,CAAC;AAEvC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAIpE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEzD;;;;;;;;;GASG;AAEH,8FAA8F;AAC9F,MAAM,WAAW,SAAS;IACtB,KAAK,EAAE,OAAO,EAAE,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,IAAI,CAAC;CACd;AAED,UAAU,aAAa;IACnB,KAAK,EAAE,OAAO,EAAE,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACtB;AAED,kGAAkG;AAClG,wBAAgB,UAAU,CAAC,KAAK,EAAE,aAAa,EAAE,GAAG,SAAS,CAgB5D;AAED,
|
|
1
|
+
{"version":3,"file":"catalogBackend.test.utils.d.ts","sourceRoot":"","sources":["../../src/catalogItem/catalogBackend.test.utils.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,IAAI,EAAM,MAAM,QAAQ,CAAC;AAEvC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAIpE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEzD;;;;;;;;;GASG;AAEH,8FAA8F;AAC9F,MAAM,WAAW,SAAS;IACtB,KAAK,EAAE,OAAO,EAAE,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,IAAI,CAAC;CACd;AAED,UAAU,aAAa;IACnB,KAAK,EAAE,OAAO,EAAE,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACtB;AAED,kGAAkG;AAClG,wBAAgB,UAAU,CAAC,KAAK,EAAE,aAAa,EAAE,GAAG,SAAS,CAgB5D;AAED,uFAAuF;AACvF,wBAAgB,SAAS,IAAI,SAAS,CAErC;AA6CD,6FAA6F;AAC7F,wBAAgB,aAAa,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAEnE;AAED,6FAA6F;AAC7F,QAAA,MAAM,uBAAuB,YACzB,UAAU,EACV,UAAU,EACV,aAAa,EACb,iBAAiB,EACjB,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,YAAY,CACN,CAAC;AAEX,2FAA2F;AAC3F,QAAA,MAAM,wBAAwB,YAC1B,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,WAAW,EACX,8BAA8B,EAC9B,iBAAiB,EACjB,iBAAiB,CACX,CAAC;AAEX,MAAM,MAAM,gBAAgB,CAAC,OAAO,SAAS,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG;IAAE,KAAK,EAAE,IAAI,CAAA;CAAE,CAAC;AAE/F,KAAK,kBAAkB,GAAG,gBAAgB,CAAC,CAAC,OAAO,uBAAuB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AACrF,KAAK,mBAAmB,GAAG,gBAAgB,CAAC,CAAC,OAAO,wBAAwB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AA0BvF,gEAAgE;AAChE,UAAU,2BAA2B;IACjC,OAAO,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC/B,aAAa,EAAE,OAAO,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,mBAAmB;IAChC,OAAO,EAAE,kBAAkB,CAAC;IAC5B,wFAAwF;IACxF,OAAO,EAAE,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IAClC,2FAA2F;IAC3F,QAAQ,EAAE,MAAM,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC;IACjD,sFAAsF;IACtF,mBAAmB,EAAE,IAAI,CAAC;IAC1B,qBAAqB,EAAE,mBAAmB,CAAC;IAC3C,4FAA4F;IAC5F,QAAQ,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC;IACnE,oFAAoF;IACpF,yBAAyB,CAAC,MAAM,EAAE,MAAM,OAAO,CAAC,2BAA2B,CAAC,GAAG,IAAI,CAAC;CACvF;AAED,wBAAgB,wBAAwB,IAAI,mBAAmB,CA4C9D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"converter.d.ts","sourceRoot":"","sources":["../../src/catalogItem/converter.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,2BAA2B,CAAC;AACjF,OAAO,EAEH,KAAK,wBAAwB,EAC7B,KAAK,gCAAgC,EACrC,KAAK,UAAU,EACf,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,EACxB,KAAK,QAAQ,EACb,KAAK,gBAAgB,EACrB,KAAK,sBAAsB,EAE3B,KAAK,wBAAwB,EAC7B,KAAK,KAAK,EAUb,MAAM,qBAAqB,CAAC;AAK7B,OAAO,KAAK,EACR,YAAY,EACZ,qBAAqB,EACrB,6BAA6B,EAC7B,qBAAqB,EACrB,mBAAmB,EACnB,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,EAExB,MAAM,YAAY,CAAC;AAEpB,wBAAgB,0BAA0B,CACtC,MAAM,EACA,QAAQ,GACR,gBAAgB,GAChB,sBAAsB,GACtB,wBAAwB,GACxB,gCAAgC,GAChC,mBAAmB,GACnB,wBAAwB,GACxB,sBAAsB,GACtB,SAAS,GAChB,YAAY,CA0Bd;AAED,wBAAgB,6BAA6B,CACzC,SAAS,EAAE,UAAU,GAAG,gBAAgB,GACzC,qBAAqB,CAiBvB;AAED,wBAAgB,2BAA2B,CAAC,EAAE,OAAO,EAAE,EAAE,QAAQ,GAAG,mBAAmB,CAkBtF;AAED,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,sBAAsB,GAAG,mBAAmB,
|
|
1
|
+
{"version":3,"file":"converter.d.ts","sourceRoot":"","sources":["../../src/catalogItem/converter.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,2BAA2B,CAAC;AACjF,OAAO,EAEH,KAAK,wBAAwB,EAC7B,KAAK,gCAAgC,EACrC,KAAK,UAAU,EACf,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,EACxB,KAAK,QAAQ,EACb,KAAK,gBAAgB,EACrB,KAAK,sBAAsB,EAE3B,KAAK,wBAAwB,EAC7B,KAAK,KAAK,EAUb,MAAM,qBAAqB,CAAC;AAK7B,OAAO,KAAK,EACR,YAAY,EACZ,qBAAqB,EACrB,6BAA6B,EAC7B,qBAAqB,EACrB,mBAAmB,EACnB,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,EAExB,MAAM,YAAY,CAAC;AAEpB,wBAAgB,0BAA0B,CACtC,MAAM,EACA,QAAQ,GACR,gBAAgB,GAChB,sBAAsB,GACtB,wBAAwB,GACxB,gCAAgC,GAChC,mBAAmB,GACnB,wBAAwB,GACxB,sBAAsB,GACtB,SAAS,GAChB,YAAY,CA0Bd;AAED,wBAAgB,6BAA6B,CACzC,SAAS,EAAE,UAAU,GAAG,gBAAgB,GACzC,qBAAqB,CAiBvB;AAED,wBAAgB,2BAA2B,CAAC,EAAE,OAAO,EAAE,EAAE,QAAQ,GAAG,mBAAmB,CAkBtF;AAED,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,sBAAsB,GAAG,mBAAmB,CAwBhG;AAED,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,mBAAmB,GAAG,gBAAgB,CAgBpF;AAED,wBAAgB,6BAA6B,CAAC,SAAS,EAAE,wBAAwB,GAAG,qBAAqB,CAiBxG;AAED,wBAAgB,qCAAqC,CACjD,iBAAiB,EAAE,gCAAgC,GACpD,6BAA6B,CAgB/B;AAED,wBAAgB,6BAA6B,CAAC,SAAS,EAAE,wBAAwB,GAAG,qBAAqB,CAgBxG;AAED,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,sBAAsB,GAAG,mBAAmB,CAehG;AAED,wBAAgB,cAAc,CAAC,IAAI,CAAC,EAAE,KAAK,GAAG,IAAI,GAAG,MAAM,CAW1D;AAcD,wBAAgB,kCAAkC,CAAC,GAAG,EAAE,+BAA+B,GAAG,YAAY,CAuBrG"}
|
|
@@ -86,6 +86,7 @@ export function convertMeasureToCatalogItem(measure) {
|
|
|
86
86
|
isHiddenFromKda: measure.isHiddenFromKda,
|
|
87
87
|
format,
|
|
88
88
|
metricType: measure.metricType,
|
|
89
|
+
conditionalFormatting: measure.conditionalFormatting,
|
|
89
90
|
};
|
|
90
91
|
}
|
|
91
92
|
export function convertFactToCatalogItem(fact) {
|
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
import type { IAnalyticalBackend } from "@gooddata/sdk-backend-spi";
|
|
2
2
|
import { type IMeasureMetadataObject, type IMeasureMetadataObjectDefinition, type IParameterMetadataObjectDefinition, type ObjRef } from "@gooddata/sdk-model";
|
|
3
|
-
import type { ICatalogItem, ICatalogItemQueryOptions } from "./types.js";
|
|
4
|
-
export declare function getDashboardsQuery({ backend, workspace, search, origin, id, excludeId, createdBy, excludeCreatedBy, tags, excludeTags, isHidden, certification, pageSize }: ICatalogItemQueryOptions): import("@gooddata/sdk-backend-spi").IDashboardsQuery;
|
|
5
|
-
export declare function getInsightsQuery({ backend, workspace, search, origin, id, excludeId, createdBy, excludeCreatedBy, tags, excludeTags, isHidden, certification, pageSize }: ICatalogItemQueryOptions): import("@gooddata/sdk-backend-spi").IInsightsQuery;
|
|
6
|
-
export declare function getMetricsQuery({ backend, workspace, search, origin, id, excludeId, createdBy, excludeCreatedBy, tags, excludeTags, isHidden, certification, pageSize, loadPermissions }: ICatalogItemQueryOptions): import("@gooddata/sdk-backend-spi").IMeasuresQuery;
|
|
7
|
-
export declare function getParametersQuery({ backend, workspace, search, origin, id, excludeId, createdBy, excludeCreatedBy, tags, excludeTags, pageSize }: ICatalogItemQueryOptions): import("@gooddata/sdk-backend-spi").IParametersQuery;
|
|
8
|
-
export declare function getComputedAttributesQuery({ backend, workspace, search, origin, id, excludeId, createdBy, excludeCreatedBy, tags, excludeTags, pageSize }: ICatalogItemQueryOptions): import("@gooddata/sdk-backend-spi").IComputedAttributesQuery;
|
|
9
|
-
export declare function getAttributesQuery({ backend, workspace, search, origin, id, excludeId, tags, excludeTags, isHidden, pageSize }: ICatalogItemQueryOptions): import("@gooddata/sdk-backend-spi").IAttributesQuery;
|
|
10
|
-
export declare function getFactsQuery({ backend, workspace, search, origin, id, excludeId, tags, excludeTags, isHidden, pageSize }: ICatalogItemQueryOptions): import("@gooddata/sdk-backend-spi").IFactsQuery;
|
|
11
|
-
export declare function getDateDatasetsQuery({ backend, workspace, search, origin, id, excludeId, tags, excludeTags, isHidden, pageSize }: ICatalogItemQueryOptions): import("@gooddata/sdk-backend-spi").IDatasetsQuery;
|
|
3
|
+
import type { ICatalogItem, ICatalogItemMeasure, ICatalogItemQueryOptions } from "./types.js";
|
|
4
|
+
export declare function getDashboardsQuery({ backend, workspace, search, origin, id, excludeId, createdBy, excludeCreatedBy, tags, excludeTags, isHidden, certification, pageSize, }: ICatalogItemQueryOptions): import("@gooddata/sdk-backend-spi").IDashboardsQuery;
|
|
5
|
+
export declare function getInsightsQuery({ backend, workspace, search, origin, id, excludeId, createdBy, excludeCreatedBy, tags, excludeTags, isHidden, certification, pageSize, }: ICatalogItemQueryOptions): import("@gooddata/sdk-backend-spi").IInsightsQuery;
|
|
6
|
+
export declare function getMetricsQuery({ backend, workspace, search, origin, id, excludeId, createdBy, excludeCreatedBy, tags, excludeTags, isHidden, certification, pageSize, loadPermissions, }: ICatalogItemQueryOptions): import("@gooddata/sdk-backend-spi").IMeasuresQuery;
|
|
7
|
+
export declare function getParametersQuery({ backend, workspace, search, origin, id, excludeId, createdBy, excludeCreatedBy, tags, excludeTags, pageSize, }: ICatalogItemQueryOptions): import("@gooddata/sdk-backend-spi").IParametersQuery;
|
|
8
|
+
export declare function getComputedAttributesQuery({ backend, workspace, search, origin, id, excludeId, createdBy, excludeCreatedBy, tags, excludeTags, pageSize, }: ICatalogItemQueryOptions): import("@gooddata/sdk-backend-spi").IComputedAttributesQuery;
|
|
9
|
+
export declare function getAttributesQuery({ backend, workspace, search, origin, id, excludeId, tags, excludeTags, isHidden, pageSize, }: ICatalogItemQueryOptions): import("@gooddata/sdk-backend-spi").IAttributesQuery;
|
|
10
|
+
export declare function getFactsQuery({ backend, workspace, search, origin, id, excludeId, tags, excludeTags, isHidden, pageSize, }: ICatalogItemQueryOptions): import("@gooddata/sdk-backend-spi").IFactsQuery;
|
|
11
|
+
export declare function getDateDatasetsQuery({ backend, workspace, search, origin, id, excludeId, tags, excludeTags, isHidden, pageSize, }: ICatalogItemQueryOptions): import("@gooddata/sdk-backend-spi").IDatasetsQuery;
|
|
12
12
|
export declare function updateCatalogItem(backend: IAnalyticalBackend, workspace: string, item: ICatalogItem): Promise<import("@gooddata/sdk-model").IAttributeMetadataObject> | Promise<import("@gooddata/sdk-model").IDashboard<import("@gooddata/sdk-model").IDashboardWidget>> | Promise<import("@gooddata/sdk-model").IDataSetMetadataObject> | Promise<import("@gooddata/sdk-model").IFactMetadataObject> | Promise<import("@gooddata/sdk-model").IParameterMetadataObject> | Promise<import("@gooddata/sdk-model").IComputedAttributeMetadataObject> | Promise<import("@gooddata/sdk-model").IInsight> | Promise<IMeasureMetadataObject>;
|
|
13
|
+
export declare function persistMeasureConditionalFormatting(backend: IAnalyticalBackend, workspace: string, item: ICatalogItemMeasure): Promise<undefined>;
|
|
13
14
|
export declare function createParameterCatalogItem(backend: IAnalyticalBackend, workspace: string, parameter: IParameterMetadataObjectDefinition): Promise<import("@gooddata/sdk-model").IParameterMetadataObject>;
|
|
14
15
|
export declare function updateParameterCatalogItem(backend: IAnalyticalBackend, workspace: string, definition: IParameterMetadataObjectDefinition & {
|
|
15
16
|
id: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../src/catalogItem/query.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EACH,KAAK,sBAAsB,EAC3B,KAAK,gCAAgC,EACrC,KAAK,kCAAkC,EACvC,KAAK,MAAM,EAEd,MAAM,qBAAqB,CAAC;AAE7B,OAAO,KAAK,EACR,YAAY,
|
|
1
|
+
{"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../src/catalogItem/query.ts"],"names":[],"mappings":"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"}
|
package/esm/catalogItem/query.js
CHANGED
|
@@ -228,6 +228,19 @@ function updateMeasureCatalogItemMeta(backend, workspace, item) {
|
|
|
228
228
|
isHiddenFromKda: item.isHiddenFromKda,
|
|
229
229
|
});
|
|
230
230
|
}
|
|
231
|
+
// updateMeasureMeta is a true partial patch, so this call touches conditionalFormatting and nothing
|
|
232
|
+
// else, instead of resending a locally-cached copy of the whole measure that may be stale by the
|
|
233
|
+
// time this write lands (see IWorkspaceMeasuresService.updateMeasureMeta's doc comment).
|
|
234
|
+
export function persistMeasureConditionalFormatting(backend, workspace, item) {
|
|
235
|
+
return backend
|
|
236
|
+
.workspace(workspace)
|
|
237
|
+
.measures()
|
|
238
|
+
.updateMeasureMeta({
|
|
239
|
+
...buildIdentity(item),
|
|
240
|
+
conditionalFormatting: item.conditionalFormatting ?? null,
|
|
241
|
+
})
|
|
242
|
+
.then(() => undefined);
|
|
243
|
+
}
|
|
231
244
|
function updateInsightCatalogItemMeta(backend, workspace, item) {
|
|
232
245
|
return backend
|
|
233
246
|
.workspace(workspace)
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { AnalyticsCatalogGenerateDescriptionObjectType, IAnalyticalBackend } from "@gooddata/sdk-backend-spi";
|
|
2
|
-
import type { AccessGranularPermission, CertificationStatus, IDataSetMetadataObject, IParameterDefinition, IdentifierRef, MetricType, ObjectOrigin } from "@gooddata/sdk-model";
|
|
2
|
+
import type { AccessGranularPermission, CertificationStatus, IDataSetMetadataObject, IParameterDefinition, ISemanticConditionalFormatting, IdentifierRef, MetricType, ObjectOrigin } from "@gooddata/sdk-model";
|
|
3
3
|
import { type AsyncStatus } from "../async/types.js";
|
|
4
4
|
import type { ObjectType } from "../objectType/types.js";
|
|
5
5
|
/**
|
|
@@ -70,6 +70,11 @@ export interface ICatalogItemMeasure extends ICatalogItemBase {
|
|
|
70
70
|
metricType?: MetricType;
|
|
71
71
|
/** Object-level permissions, only when the query asked for them. Undefined otherwise. */
|
|
72
72
|
permissions?: AccessGranularPermission[];
|
|
73
|
+
/**
|
|
74
|
+
* Semantic-layer conditional formatting authored on this metric.
|
|
75
|
+
* @alpha
|
|
76
|
+
*/
|
|
77
|
+
conditionalFormatting?: ISemanticConditionalFormatting;
|
|
73
78
|
}
|
|
74
79
|
/**
|
|
75
80
|
* Catalog item for parameters.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/catalogItem/types.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACR,6CAA6C,EAC7C,kBAAkB,EACrB,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EACR,wBAAwB,EACxB,mBAAmB,EACnB,sBAAsB,EACtB,oBAAoB,EACpB,aAAa,EACb,UAAU,EACV,YAAY,EACf,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEzD;;;GAGG;AACH,MAAM,WAAW,eAAgB,SAAQ,aAAa;IAClD,IAAI,EAAE,UAAU,CAAC;CACpB;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAiB,SAAQ,eAAe;IACrD,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE;QACZ,MAAM,EAAE,mBAAmB,CAAC;QAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,WAAW,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;QAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;KACxB,CAAC;IACF,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,IAAI,GAAG,IAAI,CAAC;IACvB,SAAS,EAAE,IAAI,GAAG,IAAI,CAAC;IACvB,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;;;;;GAMG;AACH,MAAM,MAAM,YAAY,GAClB,qBAAqB,GACrB,mBAAmB,GACnB,mBAAmB,GACnB,qBAAqB,GACrB,6BAA6B,GAC7B,qBAAqB,GACrB,gBAAgB,GAChB,mBAAmB,CAAC;AAE1B;;;GAGG;AACH,MAAM,WAAW,qBAAsB,SAAQ,gBAAgB;IAC3D,IAAI,EAAE,qBAAqB,CAAC;CAC/B;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAoB,SAAQ,gBAAgB;IACzD,IAAI,EAAE,SAAS,CAAC;IAChB,iBAAiB,EAAE,iBAAiB,CAAC;CACxC;AAED;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GACvB,SAAS,GACT,OAAO,GACP,MAAM,GACN,OAAO,GACP,UAAU,GACV,QAAQ,GACR,MAAM,GACN,SAAS,GACT,SAAS,GACT,QAAQ,GACR,SAAS,GACT,QAAQ,GACR,KAAK,GACL,KAAK,GACL,OAAO,GACP,QAAQ,GACR,WAAW,GACX,iBAAiB,GACjB,QAAQ,GACR,SAAS,GACT,UAAU,CAAC;AAEjB;;;GAGG;AACH,MAAM,WAAW,mBAAoB,SAAQ,gBAAgB;IACzD,IAAI,EAAE,SAAS,CAAC;IAChB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,yFAAyF;IACzF,WAAW,CAAC,EAAE,wBAAwB,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/catalogItem/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useCatalogItemFeed.d.ts","sourceRoot":"","sources":["../../src/catalogItem/useCatalogItemFeed.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAKzD,OAAO,KAAK,EAAE,YAAY,EAAE,uBAAuB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAKzF,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,uBAAuB
|
|
1
|
+
{"version":3,"file":"useCatalogItemFeed.d.ts","sourceRoot":"","sources":["../../src/catalogItem/useCatalogItemFeed.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAKzD,OAAO,KAAK,EAAE,YAAY,EAAE,uBAAuB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAKzF,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,uBAAuB;;;;;;;;;;;;;;;;;;;uBAwDxD,YAAY;uBAIZ,eAAe;8BAZf,UAAU;EA8BxB"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type AsyncStatus } from "../async/types.js";
|
|
2
2
|
import { type ICatalogItem, type ICatalogItemSemanticSearchOptions } from "./types.js";
|
|
3
|
-
export declare function useCatalogItemSemanticSearch({ queryOptions, items, status, types, search }: ICatalogItemSemanticSearchOptions): {
|
|
3
|
+
export declare function useCatalogItemSemanticSearch({ queryOptions, items, status, types, search, }: ICatalogItemSemanticSearchOptions): {
|
|
4
4
|
relatedItems: ICatalogItem[];
|
|
5
5
|
relatedItemsStatus: AsyncStatus;
|
|
6
6
|
relatedHasNext: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useCatalogItemSemanticSearch.d.ts","sourceRoot":"","sources":["../../src/catalogItem/useCatalogItemSemanticSearch.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAMrD,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,iCAAiC,EAAE,MAAM,YAAY,CAAC;AAGvF,wBAAgB,4BAA4B,CAAC,EACzC,YAAY,EACZ,KAAK,EACL,MAAM,EACN,KAAK,EACL,MAAM,
|
|
1
|
+
{"version":3,"file":"useCatalogItemSemanticSearch.d.ts","sourceRoot":"","sources":["../../src/catalogItem/useCatalogItemSemanticSearch.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAMrD,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,iCAAiC,EAAE,MAAM,YAAY,CAAC;AAGvF,wBAAgB,4BAA4B,CAAC,EACzC,YAAY,EACZ,KAAK,EACL,MAAM,EACN,KAAK,EACL,MAAM,GACT,EAAE,iCAAiC;;;;EAkEnC"}
|
|
@@ -2,6 +2,5 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
2
2
|
// (C) 2025-2026 GoodData Corporation
|
|
3
3
|
import cx from "classnames";
|
|
4
4
|
export function FilterGroupLayout({ title, titleId, className, children, ...htmlProps }) {
|
|
5
|
-
return (_jsxs("div", { ...htmlProps, className: cx("gd-analytics-catalog__filter__group", className), children: [
|
|
6
|
-
_jsx("span", { id: titleId, className: "gd-analytics-catalog__filter__group__title", children: title }), children] }));
|
|
5
|
+
return (_jsxs("div", { ...htmlProps, className: cx("gd-analytics-catalog__filter__group", className), children: [_jsx("span", { id: titleId, className: "gd-analytics-catalog__filter__group__title", children: title }), children] }));
|
|
7
6
|
}
|
|
@@ -60,25 +60,19 @@ export function StaticFilter(props) {
|
|
|
60
60
|
ariaControls: ariaAttributes["aria-controls"],
|
|
61
61
|
iconAriaHidden: true,
|
|
62
62
|
} })), renderBody: ({ closeDropdown, ariaAttributes }) => {
|
|
63
|
-
return (_jsxs("div", { ...ariaAttributes, "aria-labelledby": popupTitleId, className: "gd-analytics-catalog__filter__body", children: [
|
|
64
|
-
_jsx(Header, { id: popupTitleId, children: label }), _jsx(InvertableSelect, { className: "gd-analytics-catalog__filter__select-list", width: 240, items: filteredOptions, selectedItems: localSelection, isInverted: localIsInverted, getItemTitle: getItemTitle, getItemKey: getItemKey, searchString: searchString, onSearch: setSearchString, onSelect: handleSelectionChange, renderSearchBar: isSearchBarVisible
|
|
63
|
+
return (_jsxs("div", { ...ariaAttributes, "aria-labelledby": popupTitleId, className: "gd-analytics-catalog__filter__body", children: [_jsx(Header, { id: popupTitleId, children: label }), _jsx(InvertableSelect, { className: "gd-analytics-catalog__filter__select-list", width: 240, items: filteredOptions, selectedItems: localSelection, isInverted: localIsInverted, getItemTitle: getItemTitle, getItemKey: getItemKey, searchString: searchString, onSearch: setSearchString, onSelect: handleSelectionChange, renderSearchBar: isSearchBarVisible
|
|
65
64
|
? undefined
|
|
66
|
-
: () => _jsx("div", { className: "gd-analytics-catalog__filter__search-bar" }), renderNoData: () => _jsx("div", { className: "gd-list-noResults", children: noDataMessage }), renderStatusBar: statusBar ? () => _jsx(_Fragment, { children: statusBar }) : undefined, totalItemsCount: options.length }), _jsx(Actions, { children: actions ?? (_jsxs(_Fragment, { children: [
|
|
67
|
-
_jsx(UiButton, { variant: "secondary", size: "small", onClick: closeDropdown, label: intl.formatMessage(messages.cancel) }), _jsx(UiButton, { variant: "primary", size: "small", onClick: () => {
|
|
65
|
+
: () => _jsx("div", { className: "gd-analytics-catalog__filter__search-bar" }), renderNoData: () => _jsx("div", { className: "gd-list-noResults", children: noDataMessage }), renderStatusBar: statusBar ? () => _jsx(_Fragment, { children: statusBar }) : undefined, totalItemsCount: options.length }), _jsx(Actions, { children: actions ?? (_jsxs(_Fragment, { children: [_jsx(UiButton, { variant: "secondary", size: "small", onClick: closeDropdown, label: intl.formatMessage(messages.cancel) }), _jsx(UiButton, { variant: "primary", size: "small", onClick: () => {
|
|
68
66
|
handleApply();
|
|
69
67
|
closeDropdown();
|
|
70
|
-
}, label: intl.formatMessage(messages.apply), isDisabled: isSelectionEmpty || isSelectionEqual })
|
|
71
|
-
] })) })
|
|
72
|
-
] }));
|
|
68
|
+
}, label: intl.formatMessage(messages.apply), isDisabled: isSelectionEmpty || isSelectionEqual })] })) })] }));
|
|
73
69
|
} }) }));
|
|
74
70
|
}
|
|
75
71
|
function Header({ children, className, ...htmlProps }) {
|
|
76
72
|
return (_jsx("div", { ...htmlProps, className: cx("gd-list-title gd-analytics-catalog__filter__header", className), children: children }));
|
|
77
73
|
}
|
|
78
74
|
function Actions({ children }) {
|
|
79
|
-
return (_jsxs("div", { className: "gd-invertable-select-actions", children: [
|
|
80
|
-
_jsx(SeparatorLine, {}), _jsx("div", { className: "gd-invertable-select-actions-buttons", children: children })
|
|
81
|
-
] }));
|
|
75
|
+
return (_jsxs("div", { className: "gd-invertable-select-actions", children: [_jsx(SeparatorLine, {}), _jsx("div", { className: "gd-invertable-select-actions-buttons", children: children })] }));
|
|
82
76
|
}
|
|
83
77
|
function identity(item) {
|
|
84
78
|
return String(item);
|