@gooddata/sdk-ui 8.13.0-alpha.2 → 8.13.0-alpha.21
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/dist/base/constants/bucketNames.js +32 -32
- package/dist/base/constants/bucketNames.js.map +1 -1
- package/dist/base/errors/GoodDataSdkError.js +67 -98
- package/dist/base/errors/GoodDataSdkError.js.map +1 -1
- package/dist/base/errors/errorHandling.js +17 -18
- package/dist/base/errors/errorHandling.js.map +1 -1
- package/dist/base/headerMatching/HeaderPredicateFactory.js +50 -58
- package/dist/base/headerMatching/HeaderPredicateFactory.js.map +1 -1
- package/dist/base/headerMatching/MappingHeader.js +3 -3
- package/dist/base/headerMatching/MappingHeader.js.map +1 -1
- package/dist/base/helpers/CatalogHelper.js +33 -34
- package/dist/base/helpers/CatalogHelper.js.map +1 -1
- package/dist/base/localization/IntlStore.js +12 -14
- package/dist/base/localization/IntlStore.js.map +1 -1
- package/dist/base/localization/IntlWrapper.js +9 -10
- package/dist/base/localization/IntlWrapper.js.map +1 -1
- package/dist/base/localization/Locale.js +1 -1
- package/dist/base/localization/Locale.js.map +1 -1
- package/dist/base/localization/TranslationsCustomizationProvider/Context.js +11 -12
- package/dist/base/localization/TranslationsCustomizationProvider/Context.js.map +1 -1
- package/dist/base/localization/TranslationsCustomizationProvider/TranslationsCustomizationProvider.js +28 -38
- package/dist/base/localization/TranslationsCustomizationProvider/TranslationsCustomizationProvider.js.map +1 -1
- package/dist/base/localization/TranslationsCustomizationProvider/utils.js +25 -37
- package/dist/base/localization/TranslationsCustomizationProvider/utils.js.map +1 -1
- package/dist/base/localization/TranslationsProvider.js +12 -19
- package/dist/base/localization/TranslationsProvider.js.map +1 -1
- package/dist/base/localization/bundles/de-DE.json +23 -11
- package/dist/base/localization/bundles/en-US.json +93 -27
- package/dist/base/localization/bundles/es-ES.json +22 -10
- package/dist/base/localization/bundles/fr-FR.json +22 -10
- package/dist/base/localization/bundles/ja-JP.json +22 -10
- package/dist/base/localization/bundles/nl-NL.json +22 -10
- package/dist/base/localization/bundles/pt-BR.json +22 -10
- package/dist/base/localization/bundles/pt-PT.json +22 -10
- package/dist/base/localization/bundles/ru-RU.json +22 -10
- package/dist/base/localization/bundles/zh-Hans.json +22 -10
- package/dist/base/localization/intlUtils.js +18 -25
- package/dist/base/localization/intlUtils.js.map +1 -1
- package/dist/base/localization/messagesMap.js +12 -12
- package/dist/base/localization/messagesMap.js.map +1 -1
- package/dist/base/measureFormats/fillMissingFormat.js +5 -5
- package/dist/base/measureFormats/fillMissingFormat.js.map +1 -1
- package/dist/base/measureFormats/fillMissingFormats.js +3 -3
- package/dist/base/measureFormats/fillMissingFormats.js.map +1 -1
- package/dist/base/measureTitles/ArithmeticMeasureTitleFactory.js +27 -28
- package/dist/base/measureTitles/ArithmeticMeasureTitleFactory.js.map +1 -1
- package/dist/base/measureTitles/DerivedMeasureTitleSuffixFactory.js +14 -15
- package/dist/base/measureTitles/DerivedMeasureTitleSuffixFactory.js.map +1 -1
- package/dist/base/measureTitles/fillMissingTitles.js +49 -50
- package/dist/base/measureTitles/fillMissingTitles.js.map +1 -1
- package/dist/base/measureTitles/ignoreTitlesForSimpleMeasures.js +4 -4
- package/dist/base/measureTitles/ignoreTitlesForSimpleMeasures.js.map +1 -1
- package/dist/base/react/BackendContext.js +14 -16
- package/dist/base/react/BackendContext.js.map +1 -1
- package/dist/base/react/CancelablePromise.js +21 -24
- package/dist/base/react/CancelablePromise.js.map +1 -1
- package/dist/base/react/ClientWorkspaceContext/ClientWorkspaceContext.js +28 -28
- package/dist/base/react/ClientWorkspaceContext/ClientWorkspaceContext.js.map +1 -1
- package/dist/base/react/ClientWorkspaceContext/resolveLCMWorkspaceIdentifiers.js +30 -82
- package/dist/base/react/ClientWorkspaceContext/resolveLCMWorkspaceIdentifiers.js.map +1 -1
- package/dist/base/react/ErrorComponent.js +35 -40
- package/dist/base/react/ErrorComponent.js.map +1 -1
- package/dist/base/react/LoadingComponent.js +42 -36
- package/dist/base/react/LoadingComponent.js.map +1 -1
- package/dist/base/react/PromiseCache.js +31 -34
- package/dist/base/react/PromiseCache.js.map +1 -1
- package/dist/base/react/WorkspaceContext.js +14 -16
- package/dist/base/react/WorkspaceContext.js.map +1 -1
- package/dist/base/react/legacy/availableDrillTargets.js +15 -16
- package/dist/base/react/legacy/availableDrillTargets.js.map +1 -1
- package/dist/base/react/legacy/withEntireDataView.js +115 -139
- package/dist/base/react/legacy/withEntireDataView.js.map +1 -1
- package/dist/base/react/placeholders/base.js +4 -4
- package/dist/base/react/placeholders/base.js.map +1 -1
- package/dist/base/react/placeholders/context.js +12 -13
- package/dist/base/react/placeholders/context.js.map +1 -1
- package/dist/base/react/placeholders/factory.js +15 -17
- package/dist/base/react/placeholders/factory.js.map +1 -1
- package/dist/base/react/placeholders/hooks.js +34 -40
- package/dist/base/react/placeholders/hooks.js.map +1 -1
- package/dist/base/react/placeholders/resolve.js +9 -12
- package/dist/base/react/placeholders/resolve.js.map +1 -1
- package/dist/base/react/useCancelablePromise.js +24 -21
- package/dist/base/react/useCancelablePromise.js.map +1 -1
- package/dist/base/react/useCancelablePromiseUtils.js +16 -17
- package/dist/base/react/useCancelablePromiseUtils.js.map +1 -1
- package/dist/base/react/usePagedResource.js +25 -29
- package/dist/base/react/usePagedResource.js.map +1 -1
- package/dist/base/react/usePrevious.js +4 -4
- package/dist/base/react/usePrevious.js.map +1 -1
- package/dist/base/react/usePromiseCache.js +17 -18
- package/dist/base/react/usePromiseCache.js.map +1 -1
- package/dist/base/react/withContexts.js +5 -5
- package/dist/base/react/withContexts.js.map +1 -1
- package/dist/base/react/wrapDisplayName.js +5 -5
- package/dist/base/react/wrapDisplayName.js.map +1 -1
- package/dist/base/results/dataAccessConfig.js +10 -10
- package/dist/base/results/dataAccessConfig.js.map +1 -1
- package/dist/base/results/facade.js +35 -36
- package/dist/base/results/facade.js.map +1 -1
- package/dist/base/results/internal/dataAccessDigest.js +66 -80
- package/dist/base/results/internal/dataAccessDigest.js.map +1 -1
- package/dist/base/results/internal/dataAccessImpl.js +134 -145
- package/dist/base/results/internal/dataAccessImpl.js.map +1 -1
- package/dist/base/results/internal/dataAccessMethods.js +49 -58
- package/dist/base/results/internal/dataAccessMethods.js.map +1 -1
- package/dist/base/results/internal/definitionMethods.js +36 -37
- package/dist/base/results/internal/definitionMethods.js.map +1 -1
- package/dist/base/results/internal/lazyInitArray.js +18 -20
- package/dist/base/results/internal/lazyInitArray.js.map +1 -1
- package/dist/base/results/internal/resultDataMethods.js +26 -27
- package/dist/base/results/internal/resultDataMethods.js.map +1 -1
- package/dist/base/results/internal/resultMetaMethods.js +64 -72
- package/dist/base/results/internal/resultMetaMethods.js.map +1 -1
- package/dist/base/results/internal/utils.js +1 -1
- package/dist/base/results/internal/utils.js.map +1 -1
- package/dist/base/vis/DrillEvents.js +5 -5
- package/dist/base/vis/DrillEvents.js.map +1 -1
- package/dist/base/vis/drilling.d.ts.map +1 -1
- package/dist/base/vis/drilling.js +19 -24
- package/dist/base/vis/drilling.js.map +1 -1
- package/dist/base/vis/export.js +10 -10
- package/dist/base/vis/export.js.map +1 -1
- package/dist/execution/DataViewLoader.js +36 -80
- package/dist/execution/DataViewLoader.js.map +1 -1
- package/dist/execution/Execute.js +35 -35
- package/dist/execution/Execute.js.map +1 -1
- package/dist/execution/ExecuteInsight.js +54 -62
- package/dist/execution/ExecuteInsight.js.map +1 -1
- package/dist/execution/RawExecute.js +27 -27
- package/dist/execution/RawExecute.js.map +1 -1
- package/dist/execution/createExecution.js +17 -16
- package/dist/execution/createExecution.js.map +1 -1
- package/dist/execution/useDataExport.js +16 -19
- package/dist/execution/useDataExport.js.map +1 -1
- package/dist/execution/useDataView.js +18 -23
- package/dist/execution/useDataView.js.map +1 -1
- package/dist/execution/useExecution.js +12 -13
- package/dist/execution/useExecution.js.map +1 -1
- package/dist/execution/useExecutionDataView.js +23 -22
- package/dist/execution/useExecutionDataView.js.map +1 -1
- package/dist/execution/useInsight.js +10 -10
- package/dist/execution/useInsight.js.map +1 -1
- package/dist/execution/useInsightDataView.js +26 -27
- package/dist/execution/useInsightDataView.js.map +1 -1
- package/dist/execution/withExecution.js +27 -56
- package/dist/execution/withExecution.js.map +1 -1
- package/dist/execution/withExecutionLoading.js +87 -104
- package/dist/execution/withExecutionLoading.js.map +1 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -5
- package/dist/index.js.map +1 -1
- package/dist/kpi/FormattedNumber.js +8 -9
- package/dist/kpi/FormattedNumber.js.map +1 -1
- package/dist/kpi/Kpi.js +25 -26
- package/dist/kpi/Kpi.js.map +1 -1
- package/dist/kpi/KpiError.js +4 -4
- package/dist/kpi/KpiError.js.map +1 -1
- package/dist/locales.js +1 -1
- package/dist/locales.js.map +1 -1
- package/esm/base/constants/bucketNames.js +33 -33
- package/esm/base/constants/bucketNames.js.map +1 -1
- package/esm/base/constants/colorPalette.js +1 -1
- package/esm/base/constants/colorPalette.js.map +1 -1
- package/esm/base/errors/GoodDataSdkError.js +66 -112
- package/esm/base/errors/GoodDataSdkError.js.map +1 -1
- package/esm/base/errors/errorHandling.js +13 -14
- package/esm/base/errors/errorHandling.js.map +1 -1
- package/esm/base/headerMatching/HeaderPredicateFactory.js +49 -57
- package/esm/base/headerMatching/HeaderPredicateFactory.js.map +1 -1
- package/esm/base/headerMatching/MappingHeader.js +2 -2
- package/esm/base/headerMatching/MappingHeader.js.map +1 -1
- package/esm/base/helpers/CatalogHelper.js +33 -35
- package/esm/base/helpers/CatalogHelper.js.map +1 -1
- package/esm/base/interfaces/OverTimeComparison.js +1 -1
- package/esm/base/interfaces/OverTimeComparison.js.map +1 -1
- package/esm/base/localization/IntlStore.js +7 -10
- package/esm/base/localization/IntlStore.js.map +1 -1
- package/esm/base/localization/IntlWrapper.js +3 -4
- package/esm/base/localization/IntlWrapper.js.map +1 -1
- package/esm/base/localization/Locale.js +3 -3
- package/esm/base/localization/Locale.js.map +1 -1
- package/esm/base/localization/TranslationsCustomizationProvider/Context.js +7 -9
- package/esm/base/localization/TranslationsCustomizationProvider/Context.js.map +1 -1
- package/esm/base/localization/TranslationsCustomizationProvider/TranslationsCustomizationProvider.js +22 -33
- package/esm/base/localization/TranslationsCustomizationProvider/TranslationsCustomizationProvider.js.map +1 -1
- package/esm/base/localization/TranslationsCustomizationProvider/utils.js +23 -36
- package/esm/base/localization/TranslationsCustomizationProvider/utils.js.map +1 -1
- package/esm/base/localization/TranslationsProvider.js +8 -17
- package/esm/base/localization/TranslationsProvider.js.map +1 -1
- package/esm/base/localization/bundles/de-DE.json +23 -11
- package/esm/base/localization/bundles/en-US.json +93 -27
- package/esm/base/localization/bundles/es-ES.json +22 -10
- package/esm/base/localization/bundles/fr-FR.json +22 -10
- package/esm/base/localization/bundles/ja-JP.json +22 -10
- package/esm/base/localization/bundles/nl-NL.json +22 -10
- package/esm/base/localization/bundles/pt-BR.json +22 -10
- package/esm/base/localization/bundles/pt-PT.json +22 -10
- package/esm/base/localization/bundles/ru-RU.json +22 -10
- package/esm/base/localization/bundles/zh-Hans.json +22 -10
- package/esm/base/localization/intlUtils.js +12 -20
- package/esm/base/localization/intlUtils.js.map +1 -1
- package/esm/base/localization/messagesMap.js +1 -1
- package/esm/base/localization/messagesMap.js.map +1 -1
- package/esm/base/measureFormats/fillMissingFormat.js +4 -4
- package/esm/base/measureFormats/fillMissingFormat.js.map +1 -1
- package/esm/base/measureFormats/fillMissingFormats.js +1 -1
- package/esm/base/measureFormats/fillMissingFormats.js.map +1 -1
- package/esm/base/measureTitles/ArithmeticMeasureTitleFactory.js +25 -27
- package/esm/base/measureTitles/ArithmeticMeasureTitleFactory.js.map +1 -1
- package/esm/base/measureTitles/DerivedMeasureTitleSuffixFactory.js +11 -13
- package/esm/base/measureTitles/DerivedMeasureTitleSuffixFactory.js.map +1 -1
- package/esm/base/measureTitles/fillMissingTitles.js +44 -45
- package/esm/base/measureTitles/fillMissingTitles.js.map +1 -1
- package/esm/base/measureTitles/ignoreTitlesForSimpleMeasures.js +3 -3
- package/esm/base/measureTitles/ignoreTitlesForSimpleMeasures.js.map +1 -1
- package/esm/base/react/BackendContext.js +10 -13
- package/esm/base/react/BackendContext.js.map +1 -1
- package/esm/base/react/CancelablePromise.js +19 -24
- package/esm/base/react/CancelablePromise.js.map +1 -1
- package/esm/base/react/ClientWorkspaceContext/ClientWorkspaceContext.js +20 -21
- package/esm/base/react/ClientWorkspaceContext/ClientWorkspaceContext.js.map +1 -1
- package/esm/base/react/ClientWorkspaceContext/resolveLCMWorkspaceIdentifiers.js +27 -80
- package/esm/base/react/ClientWorkspaceContext/resolveLCMWorkspaceIdentifiers.js.map +1 -1
- package/esm/base/react/ErrorComponent.js +33 -40
- package/esm/base/react/ErrorComponent.js.map +1 -1
- package/esm/base/react/LoadingComponent.js +40 -36
- package/esm/base/react/LoadingComponent.js.map +1 -1
- package/esm/base/react/PromiseCache.js +28 -32
- package/esm/base/react/PromiseCache.js.map +1 -1
- package/esm/base/react/WorkspaceContext.js +10 -13
- package/esm/base/react/WorkspaceContext.js.map +1 -1
- package/esm/base/react/legacy/availableDrillTargets.js +12 -13
- package/esm/base/react/legacy/availableDrillTargets.js.map +1 -1
- package/esm/base/react/legacy/withEntireDataView.js +102 -127
- package/esm/base/react/legacy/withEntireDataView.js.map +1 -1
- package/esm/base/react/placeholders/base.js +2 -2
- package/esm/base/react/placeholders/base.js.map +1 -1
- package/esm/base/react/placeholders/context.js +9 -11
- package/esm/base/react/placeholders/context.js.map +1 -1
- package/esm/base/react/placeholders/factory.js +11 -13
- package/esm/base/react/placeholders/factory.js.map +1 -1
- package/esm/base/react/placeholders/hooks.js +27 -33
- package/esm/base/react/placeholders/hooks.js.map +1 -1
- package/esm/base/react/placeholders/resolve.js +6 -10
- package/esm/base/react/placeholders/resolve.js.map +1 -1
- package/esm/base/react/useCancelablePromise.js +18 -16
- package/esm/base/react/useCancelablePromise.js.map +1 -1
- package/esm/base/react/useCancelablePromiseUtils.js +13 -15
- package/esm/base/react/useCancelablePromiseUtils.js.map +1 -1
- package/esm/base/react/usePagedResource.js +23 -27
- package/esm/base/react/usePagedResource.js.map +1 -1
- package/esm/base/react/usePrevious.js +3 -3
- package/esm/base/react/usePrevious.js.map +1 -1
- package/esm/base/react/usePromiseCache.js +15 -16
- package/esm/base/react/usePromiseCache.js.map +1 -1
- package/esm/base/react/wrapDisplayName.js +5 -5
- package/esm/base/react/wrapDisplayName.js.map +1 -1
- package/esm/base/results/dataAccessConfig.js +6 -6
- package/esm/base/results/dataAccessConfig.js.map +1 -1
- package/esm/base/results/facade.js +30 -32
- package/esm/base/results/facade.js.map +1 -1
- package/esm/base/results/internal/dataAccessDigest.js +62 -77
- package/esm/base/results/internal/dataAccessDigest.js.map +1 -1
- package/esm/base/results/internal/dataAccessImpl.js +126 -138
- package/esm/base/results/internal/dataAccessImpl.js.map +1 -1
- package/esm/base/results/internal/dataAccessMethods.js +46 -55
- package/esm/base/results/internal/dataAccessMethods.js.map +1 -1
- package/esm/base/results/internal/definitionMethods.js +33 -34
- package/esm/base/results/internal/definitionMethods.js.map +1 -1
- package/esm/base/results/internal/lazyInitArray.js +16 -19
- package/esm/base/results/internal/lazyInitArray.js.map +1 -1
- package/esm/base/results/internal/resultDataMethods.js +23 -24
- package/esm/base/results/internal/resultDataMethods.js.map +1 -1
- package/esm/base/results/internal/resultMetaMethods.js +60 -68
- package/esm/base/results/internal/resultMetaMethods.js.map +1 -1
- package/esm/base/results/internal/utils.js +1 -1
- package/esm/base/results/internal/utils.js.map +1 -1
- package/esm/base/vis/DrillEvents.js +2 -2
- package/esm/base/vis/DrillEvents.js.map +1 -1
- package/esm/base/vis/drilling.d.ts.map +1 -1
- package/esm/base/vis/drilling.js +14 -20
- package/esm/base/vis/drilling.js.map +1 -1
- package/esm/base/vis/export.js +10 -10
- package/esm/base/vis/export.js.map +1 -1
- package/esm/base/vis/visualizationTypes.js +1 -1
- package/esm/base/vis/visualizationTypes.js.map +1 -1
- package/esm/execution/DataViewLoader.js +32 -78
- package/esm/execution/DataViewLoader.js.map +1 -1
- package/esm/execution/Execute.js +29 -30
- package/esm/execution/Execute.js.map +1 -1
- package/esm/execution/ExecuteInsight.js +49 -58
- package/esm/execution/ExecuteInsight.js.map +1 -1
- package/esm/execution/RawExecute.js +24 -24
- package/esm/execution/RawExecute.js.map +1 -1
- package/esm/execution/createExecution.js +12 -12
- package/esm/execution/createExecution.js.map +1 -1
- package/esm/execution/useDataExport.js +15 -18
- package/esm/execution/useDataExport.js.map +1 -1
- package/esm/execution/useDataView.js +17 -22
- package/esm/execution/useDataView.js.map +1 -1
- package/esm/execution/useExecution.js +10 -11
- package/esm/execution/useExecution.js.map +1 -1
- package/esm/execution/useExecutionDataView.js +18 -18
- package/esm/execution/useExecutionDataView.js.map +1 -1
- package/esm/execution/useInsight.js +8 -8
- package/esm/execution/useInsight.js.map +1 -1
- package/esm/execution/useInsightDataView.js +23 -24
- package/esm/execution/useInsightDataView.js.map +1 -1
- package/esm/execution/withExecution.js +24 -53
- package/esm/execution/withExecution.js.map +1 -1
- package/esm/execution/withExecutionLoading.js +82 -100
- package/esm/execution/withExecutionLoading.js.map +1 -1
- package/esm/index.d.ts +0 -1
- package/esm/index.d.ts.map +1 -1
- package/esm/index.js +1 -3
- package/esm/index.js.map +1 -1
- package/esm/kpi/FormattedNumber.js +5 -6
- package/esm/kpi/FormattedNumber.js.map +1 -1
- package/esm/kpi/Kpi.js +17 -19
- package/esm/kpi/Kpi.js.map +1 -1
- package/esm/kpi/KpiError.js +2 -2
- package/esm/kpi/KpiError.js.map +1 -1
- package/esm/locales.js +1 -1
- package/esm/locales.js.map +1 -1
- package/package.json +9 -14
- package/dist/polyfills.d.ts +0 -3
- package/dist/polyfills.d.ts.map +0 -1
- package/dist/polyfills.js +0 -8
- package/dist/polyfills.js.map +0 -1
- package/esm/polyfills.d.ts +0 -3
- package/esm/polyfills.d.ts.map +0 -1
- package/esm/polyfills.js +0 -6
- package/esm/polyfills.js.map +0 -1
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.useMultiValueMemoStringify = exports.useMemoStringify = exports.useResolveValuesWithPlaceholders = exports.useResolveValueWithPlaceholders = exports.useComposedPlaceholder = exports.usePlaceholders = exports.usePlaceholder = void 0;
|
|
4
|
-
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
5
|
// (C) 2019-2022 GoodData Corporation
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
6
|
+
const react_1 = require("react");
|
|
7
|
+
const json_stable_stringify_1 = tslib_1.__importDefault(require("json-stable-stringify"));
|
|
8
|
+
const base_1 = require("./base");
|
|
9
|
+
const context_1 = require("./context");
|
|
10
|
+
const ts_invariant_1 = tslib_1.__importDefault(require("ts-invariant"));
|
|
11
|
+
const resolve_1 = require("./resolve");
|
|
12
12
|
/**
|
|
13
13
|
* React hook to obtain/set placeholder value.
|
|
14
14
|
*
|
|
@@ -20,15 +20,15 @@ var resolve_1 = require("./resolve");
|
|
|
20
20
|
* @public
|
|
21
21
|
*/
|
|
22
22
|
function usePlaceholder(placeholder) {
|
|
23
|
-
|
|
24
|
-
|
|
23
|
+
const { state, updateState } = context_1.usePlaceholdersContext();
|
|
24
|
+
const resolvedPlaceholderValue = base_1.isPlaceholder(placeholder)
|
|
25
25
|
? resolve_1.resolvePlaceholderValue(placeholder, state)
|
|
26
26
|
: undefined;
|
|
27
|
-
|
|
28
|
-
updateState(
|
|
27
|
+
const setPlaceholderValue = react_1.useCallback((valueOrUpdateCallback) => {
|
|
28
|
+
updateState((s) => {
|
|
29
29
|
ts_invariant_1.default(base_1.isPlaceholder(placeholder), "usePlaceholder: Cannot set value of the placeholder - placeholder was not provided.");
|
|
30
|
-
|
|
31
|
-
|
|
30
|
+
const resoledPlaceholderValue = resolve_1.resolvePlaceholderValue(placeholder, s);
|
|
31
|
+
const updatedValue = valueOrUpdateCallback instanceof Function
|
|
32
32
|
? valueOrUpdateCallback(resoledPlaceholderValue)
|
|
33
33
|
: valueOrUpdateCallback;
|
|
34
34
|
return resolve_1.setPlaceholder(placeholder, updatedValue, s);
|
|
@@ -46,20 +46,16 @@ exports.usePlaceholder = usePlaceholder;
|
|
|
46
46
|
* @public
|
|
47
47
|
*/
|
|
48
48
|
function usePlaceholders(placeholders) {
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
var resolvedValues = placeholders.map(function (placeholder) {
|
|
57
|
-
return resolve_1.resolvePlaceholderValue(placeholder, s);
|
|
58
|
-
});
|
|
59
|
-
var updatedValues = typeof valueOrUpdateCallback === "function"
|
|
49
|
+
const { state, updateState } = context_1.usePlaceholdersContext();
|
|
50
|
+
const resolvedPlaceholderValues = placeholders.map((placeholder) => resolve_1.resolvePlaceholderValue(placeholder, state));
|
|
51
|
+
const memoizedResolvedValues = useMultiValueMemoStringify(resolvedPlaceholderValues);
|
|
52
|
+
const setPlaceholderValues = react_1.useCallback((valueOrUpdateCallback) => {
|
|
53
|
+
updateState((s) => {
|
|
54
|
+
const resolvedValues = placeholders.map((placeholder) => resolve_1.resolvePlaceholderValue(placeholder, s));
|
|
55
|
+
const updatedValues = typeof valueOrUpdateCallback === "function"
|
|
60
56
|
? valueOrUpdateCallback(resolvedValues)
|
|
61
57
|
: valueOrUpdateCallback;
|
|
62
|
-
return placeholders.reduce(
|
|
58
|
+
return placeholders.reduce((acc, placeholder, i) => {
|
|
63
59
|
return resolve_1.setPlaceholder(placeholder, updatedValues[i], acc);
|
|
64
60
|
}, s);
|
|
65
61
|
});
|
|
@@ -77,8 +73,8 @@ exports.usePlaceholders = usePlaceholders;
|
|
|
77
73
|
* @public
|
|
78
74
|
*/
|
|
79
75
|
function useComposedPlaceholder(placeholder, resolutionContext) {
|
|
80
|
-
|
|
81
|
-
|
|
76
|
+
const { state } = context_1.usePlaceholdersContext();
|
|
77
|
+
const resolvedValue = resolve_1.resolveComposedPlaceholderValue(placeholder, state, resolutionContext);
|
|
82
78
|
return useMemoStringify(resolvedValue);
|
|
83
79
|
}
|
|
84
80
|
exports.useComposedPlaceholder = useComposedPlaceholder;
|
|
@@ -91,8 +87,8 @@ exports.useComposedPlaceholder = useComposedPlaceholder;
|
|
|
91
87
|
* @public
|
|
92
88
|
*/
|
|
93
89
|
function useResolveValueWithPlaceholders(value, resolutionContext) {
|
|
94
|
-
|
|
95
|
-
|
|
90
|
+
const { state } = context_1.usePlaceholdersContext();
|
|
91
|
+
const resolvedValue = resolve_1.resolveValueWithPlaceholders(value, state, resolutionContext);
|
|
96
92
|
return useMemoStringify(resolvedValue);
|
|
97
93
|
}
|
|
98
94
|
exports.useResolveValueWithPlaceholders = useResolveValueWithPlaceholders;
|
|
@@ -105,10 +101,8 @@ exports.useResolveValueWithPlaceholders = useResolveValueWithPlaceholders;
|
|
|
105
101
|
* @public
|
|
106
102
|
*/
|
|
107
103
|
function useResolveValuesWithPlaceholders(values, resolutionContext) {
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
return resolve_1.resolveValueWithPlaceholders(value, state, resolutionContext);
|
|
111
|
-
});
|
|
104
|
+
const { state } = context_1.usePlaceholdersContext();
|
|
105
|
+
const resolvedValues = values === null || values === void 0 ? void 0 : values.map((value) => resolve_1.resolveValueWithPlaceholders(value, state, resolutionContext));
|
|
112
106
|
return useMultiValueMemoStringify(resolvedValues);
|
|
113
107
|
}
|
|
114
108
|
exports.useResolveValuesWithPlaceholders = useResolveValuesWithPlaceholders;
|
|
@@ -120,7 +114,7 @@ exports.useResolveValuesWithPlaceholders = useResolveValuesWithPlaceholders;
|
|
|
120
114
|
* @internal
|
|
121
115
|
*/
|
|
122
116
|
function useMemoStringify(value) {
|
|
123
|
-
return react_1.useMemo(
|
|
117
|
+
return react_1.useMemo(() => {
|
|
124
118
|
return value;
|
|
125
119
|
}, [json_stable_stringify_1.default(value)]);
|
|
126
120
|
}
|
|
@@ -134,18 +128,18 @@ exports.useMemoStringify = useMemoStringify;
|
|
|
134
128
|
*/
|
|
135
129
|
function useMultiValueMemoStringify(values) {
|
|
136
130
|
var _a;
|
|
137
|
-
|
|
131
|
+
const prevValues = react_1.useRef((_a = values === null || values === void 0 ? void 0 : values.map((v) => ({
|
|
138
132
|
hash: json_stable_stringify_1.default(v),
|
|
139
133
|
value: v,
|
|
140
|
-
})
|
|
141
|
-
return react_1.useMemo(
|
|
142
|
-
return values === null || values === void 0 ? void 0 : values.map(
|
|
143
|
-
|
|
134
|
+
}))) !== null && _a !== void 0 ? _a : []);
|
|
135
|
+
return react_1.useMemo(() => {
|
|
136
|
+
return values === null || values === void 0 ? void 0 : values.map((val, idx) => {
|
|
137
|
+
const hash = json_stable_stringify_1.default(val);
|
|
144
138
|
if (hash === prevValues.current[idx].hash) {
|
|
145
139
|
return prevValues.current[idx].value;
|
|
146
140
|
}
|
|
147
141
|
prevValues.current[idx] = {
|
|
148
|
-
hash
|
|
142
|
+
hash,
|
|
149
143
|
value: val,
|
|
150
144
|
};
|
|
151
145
|
return val;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../../../src/base/react/placeholders/hooks.ts"],"names":[],"mappings":";;;;AAAA,qCAAqC;AACrC
|
|
1
|
+
{"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../../../src/base/react/placeholders/hooks.ts"],"names":[],"mappings":";;;;AAAA,qCAAqC;AACrC,iCAAqD;AACrD,0FAAoD;AAEpD,iCAQgB;AAChB,uCAAsE;AACtE,wEAAqC;AACrC,uCAKmB;AAEnB;;;;;;;;;GASG;AACH,SAAgB,cAAc,CAC1B,WAAe;IAKf,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,gCAAsB,EAAE,CAAC;IACxD,MAAM,wBAAwB,GAAG,oBAAa,CAAC,WAAW,CAAC;QACvD,CAAC,CAAC,iCAAuB,CAAC,WAAW,EAAE,KAAK,CAAC;QAC7C,CAAC,CAAC,SAAS,CAAC;IAEhB,MAAM,mBAAmB,GAAG,mBAAW,CACnC,CAAC,qBAA6E,EAAE,EAAE;QAC9E,WAAW,CAAC,CAAC,CAAC,EAAqB,EAAE;YACjC,sBAAS,CACL,oBAAa,CAAC,WAAW,CAAC,EAC1B,qFAAqF,CACxF,CAAC;YAEF,MAAM,uBAAuB,GAAG,iCAAuB,CACnD,WAAW,EACX,CAAC,CACmB,CAAC;YAEzB,MAAM,YAAY,GACd,qBAAqB,YAAY,QAAQ;gBACrC,CAAC,CAAC,qBAAqB,CAAC,uBAAuB,CAAC;gBAChD,CAAC,CAAC,qBAAqB,CAAC;YAEhC,OAAO,wBAAc,CAAC,WAAW,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC;QACxD,CAAC,CAAC,CAAC;IACP,CAAC,EACD,EAAE,CACL,CAAC;IAEF,OAAO,CAAC,wBAAwB,EAAE,mBAAmB,CAAC,CAAC;AAC3D,CAAC;AApCD,wCAoCC;AAED;;;;;;;GAOG;AACH,SAAgB,eAAe,CAC3B,YAAoB;IAEpB,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,gCAAsB,EAAE,CAAC;IAExD,MAAM,yBAAyB,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAC/D,iCAAuB,CAAC,WAAW,EAAE,KAAK,CAAC,CACrB,CAAC;IAE3B,MAAM,sBAAsB,GAAG,0BAA0B,CAAC,yBAAyB,CAAC,CAAC;IAErF,MAAM,oBAAoB,GAAG,mBAAW,CACpC,CAAC,qBAAmE,EAAE,EAAE;QACpE,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE;YACd,MAAM,cAAc,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CACpD,iCAAuB,CAAC,WAAW,EAAE,CAAC,CAAC,CACjB,CAAC;YAE3B,MAAM,aAAa,GACf,OAAO,qBAAqB,KAAK,UAAU;gBACvC,CAAC,CAAC,qBAAqB,CAAC,cAAc,CAAC;gBACvC,CAAC,CAAC,qBAAqB,CAAC;YAEhC,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,WAAW,EAAE,CAAC,EAAqB,EAAE;gBAClE,OAAO,wBAAc,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YAC9D,CAAC,EAAE,CAAC,CAAC,CAAC;QACV,CAAC,CAAC,CAAC;IACP,CAAC,EACD,EAAE,CACL,CAAC;IAEF,OAAO,CAAC,sBAAsB,EAAE,oBAAoB,CAAC,CAAC;AAC1D,CAAC;AAhCD,0CAgCC;AAED;;;;;;;;GAQG;AACH,SAAgB,sBAAsB,CAGpC,WAAyB,EAAE,iBAA4B;IACrD,MAAM,EAAE,KAAK,EAAE,GAAG,gCAAsB,EAAE,CAAC;IAC3C,MAAM,aAAa,GAAG,yCAA+B,CACjD,WAAW,EACX,KAAK,EACL,iBAAiB,CACsB,CAAC;IAC5C,OAAO,gBAAgB,CAAC,aAAa,CAAC,CAAC;AAC3C,CAAC;AAXD,wDAWC;AAED;;;;;;;GAOG;AACH,SAAgB,+BAA+B,CAC3C,KAAQ,EACR,iBAAqB;IAErB,MAAM,EAAE,KAAK,EAAE,GAAG,gCAAsB,EAAE,CAAC;IAC3C,MAAM,aAAa,GAAG,sCAA4B,CAAC,KAAK,EAAE,KAAK,EAAE,iBAAiB,CAAC,CAAC;IACpF,OAAO,gBAAgB,CAAC,aAAa,CAAC,CAAC;AAC3C,CAAC;AAPD,0EAOC;AAED;;;;;;;GAOG;AACH,SAAgB,gCAAgC,CAC5C,MAAc,EACd,iBAAqB;IAErB,MAAM,EAAE,KAAK,EAAE,GAAG,gCAAsB,EAAE,CAAC;IAC3C,MAAM,cAAc,GAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CACzC,sCAA4B,CAAC,KAAK,EAAE,KAAK,EAAE,iBAAiB,CAAC,CAC/B,CAAC;IACnC,OAAO,0BAA0B,CAAC,cAAc,CAAC,CAAC;AACtD,CAAC;AATD,4EASC;AAED;;;;;;GAMG;AACH,SAAgB,gBAAgB,CAAI,KAAQ;IACxC,OAAO,eAAO,CAAC,GAAG,EAAE;QAChB,OAAO,KAAK,CAAC;IACjB,CAAC,EAAE,CAAC,+BAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACjC,CAAC;AAJD,4CAIC;AAED;;;;;;GAMG;AACH,SAAgB,0BAA0B,CAAkB,MAAS;;IACjE,MAAM,UAAU,GAAG,cAAM,OACrB,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAChB,IAAI,EAAE,+BAAe,CAAC,CAAC,CAAC;QACxB,KAAK,EAAE,CAAC;KACX,CAAC,oCAAK,EAAE,CACZ,CAAC;IAEF,OAAO,eAAO,CAAC,GAAG,EAAE;QAChB,OAAO,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YAC5B,MAAM,IAAI,GAAG,+BAAe,CAAC,GAAG,CAAC,CAAC;YAClC,IAAI,IAAI,KAAK,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE;gBACvC,OAAO,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;aACxC;YAED,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG;gBACtB,IAAI;gBACJ,KAAK,EAAE,GAAG;aACb,CAAC;YAEF,OAAO,GAAG,CAAC;QACf,CAAC,CAAM,CAAC;IACZ,CAAC,EAAE,CAAC,+BAAe,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAClC,CAAC;AAvBD,gEAuBC"}
|
|
@@ -1,21 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.resolveValueWithPlaceholders = exports.resolveComposedPlaceholderValue = exports.resolvePlaceholderValue = exports.setPlaceholder = void 0;
|
|
4
|
-
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
5
|
// (C) 2019-2022 GoodData Corporation
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
const isArray_1 = tslib_1.__importDefault(require("lodash/isArray"));
|
|
7
|
+
const base_1 = require("./base");
|
|
8
8
|
/**
|
|
9
9
|
* Set placeholder value to the context.
|
|
10
10
|
* @internal
|
|
11
11
|
*/
|
|
12
12
|
function setPlaceholder(placeholder, value, state) {
|
|
13
|
-
var _a;
|
|
14
13
|
if (placeholder.validate) {
|
|
15
14
|
placeholder.validate(value);
|
|
16
15
|
}
|
|
17
16
|
if (base_1.isPlaceholder(placeholder)) {
|
|
18
|
-
return
|
|
17
|
+
return Object.assign(Object.assign({}, state), { placeholders: Object.assign(Object.assign({}, state.placeholders), { [placeholder.id]: Object.assign(Object.assign({}, placeholder), { value }) }) });
|
|
19
18
|
}
|
|
20
19
|
return state;
|
|
21
20
|
}
|
|
@@ -26,7 +25,7 @@ exports.setPlaceholder = setPlaceholder;
|
|
|
26
25
|
*/
|
|
27
26
|
function resolvePlaceholderValue(placeholder, state) {
|
|
28
27
|
var _a, _b;
|
|
29
|
-
|
|
28
|
+
const placeholderValue = (_b = (_a = state.placeholders[placeholder.id]) === null || _a === void 0 ? void 0 : _a.value) !== null && _b !== void 0 ? _b : placeholder.defaultValue;
|
|
30
29
|
if (placeholder.validate) {
|
|
31
30
|
placeholder.validate(placeholderValue);
|
|
32
31
|
}
|
|
@@ -38,9 +37,7 @@ exports.resolvePlaceholderValue = resolvePlaceholderValue;
|
|
|
38
37
|
* @internal
|
|
39
38
|
*/
|
|
40
39
|
function resolveComposedPlaceholderValue(placeholder, state, resolutionContext) {
|
|
41
|
-
|
|
42
|
-
return resolveValueWithPlaceholders(p, state, resolutionContext);
|
|
43
|
-
});
|
|
40
|
+
const values = placeholder.placeholders.map((p) => resolveValueWithPlaceholders(p, state, resolutionContext));
|
|
44
41
|
return placeholder.computeValue(values, resolutionContext);
|
|
45
42
|
}
|
|
46
43
|
exports.resolveComposedPlaceholderValue = resolveComposedPlaceholderValue;
|
|
@@ -63,15 +60,15 @@ function resolveValueWithPlaceholders(value, state, resolutionContext) {
|
|
|
63
60
|
return resolveComposedPlaceholderValue(value, state, resolutionContext);
|
|
64
61
|
}
|
|
65
62
|
else if (isArray_1.default(value)) {
|
|
66
|
-
return value.reduce(
|
|
67
|
-
|
|
63
|
+
return value.reduce((acc, v) => {
|
|
64
|
+
const resolvedValue = resolveValueWithPlaceholders(v, state, resolutionContext);
|
|
68
65
|
if (base_1.isAnyPlaceholder(v)) {
|
|
69
66
|
// Omit placeholder values that are not set
|
|
70
67
|
if (!resolvedValue) {
|
|
71
68
|
return acc;
|
|
72
69
|
}
|
|
73
70
|
else if (isArray_1.default(resolvedValue)) {
|
|
74
|
-
acc.push
|
|
71
|
+
acc.push(...resolvedValue.filter((v) => typeof v !== "undefined"));
|
|
75
72
|
return acc;
|
|
76
73
|
}
|
|
77
74
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../../../src/base/react/placeholders/resolve.ts"],"names":[],"mappings":";;;;AAAA,qCAAqC;AACrC,
|
|
1
|
+
{"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../../../src/base/react/placeholders/resolve.ts"],"names":[],"mappings":";;;;AAAA,qCAAqC;AACrC,qEAAqC;AACrC,iCASgB;AAGhB;;;GAGG;AACH,SAAgB,cAAc,CAC1B,WAAc,EACd,KAAsC,EACtC,KAAwB;IAExB,IAAI,WAAW,CAAC,QAAQ,EAAE;QACtB,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;KAC/B;IACD,IAAI,oBAAa,CAAC,WAAW,CAAC,EAAE;QAC5B,uCACO,KAAK,KACR,YAAY,kCACL,KAAK,CAAC,YAAY,KACrB,CAAC,WAAW,CAAC,EAAE,CAAC,kCACT,WAAW,KACd,KAAK,UAGf;KACL;IAED,OAAO,KAAK,CAAC;AACjB,CAAC;AAtBD,wCAsBC;AAED;;;GAGG;AACH,SAAgB,uBAAuB,CACnC,WAAc,EACd,KAAwB;;IAExB,MAAM,gBAAgB,eAAG,KAAK,CAAC,YAAY,CAAC,WAAW,CAAC,EAAE,CAAC,0CAAE,KAAK,mCAAI,WAAW,CAAC,YAAY,CAAC;IAC/F,IAAI,WAAW,CAAC,QAAQ,EAAE;QACtB,WAAW,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;KAC1C;IACD,OAAO,gBAAgB,CAAC;AAC5B,CAAC;AATD,0DASC;AAED;;;GAGG;AACH,SAAgB,+BAA+B,CAC3C,WAA4D,EAC5D,KAAwB,EACxB,iBAA4B;IAE5B,MAAM,MAAM,GAAG,WAAW,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAC9C,4BAA4B,CAAC,CAAC,EAAE,KAAK,EAAE,iBAAiB,CAAC,CACtB,CAAC;IACxC,OAAO,WAAW,CAAC,YAAY,CAAC,MAAM,EAAE,iBAAkB,CAAC,CAAC;AAChE,CAAC;AATD,0EASC;AAED;;;;;;;;;;GAUG;AACH,SAAgB,4BAA4B,CACxC,KAAQ,EACR,KAAwB,EACxB,iBAAqB;IAErB,IAAI,oBAAa,CAAC,KAAK,CAAC,EAAE;QACtB,OAAO,uBAAuB,CAAC,KAAK,EAAE,KAAK,CAAgC,CAAC;KAC/E;SAAM,IAAI,4BAAqB,CAAC,KAAK,CAAC,EAAE;QACrC,OAAO,+BAA+B,CAClC,KAAK,EACL,KAAK,EACL,iBAAiB,CACW,CAAC;KACpC;SAAM,IAAI,iBAAO,CAAC,KAAK,CAAC,EAAE;QACvB,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;YAC3B,MAAM,aAAa,GAAG,4BAA4B,CAAC,CAAC,EAAE,KAAK,EAAE,iBAAiB,CAAC,CAAC;YAChF,IAAI,uBAAgB,CAAC,CAAC,CAAC,EAAE;gBACrB,2CAA2C;gBAC3C,IAAI,CAAC,aAAa,EAAE;oBAChB,OAAO,GAAG,CAAC;iBACd;qBAAM,IAAI,iBAAO,CAAC,aAAa,CAAC,EAAE;oBAC/B,GAAG,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,WAAW,CAAC,CAAC,CAAC;oBACnE,OAAO,GAAG,CAAC;iBACd;aACJ;YAED,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YACxB,OAAO,GAAG,CAAC;QACf,CAAC,EAAE,EAAE,CAAC,CAAC;KACV;IAED,OAAO,KAAoC,CAAC;AAChD,CAAC;AAhCD,oEAgCC"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.useCancelablePromise = void 0;
|
|
4
|
-
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
5
|
// (C) 2019-2022 GoodData Corporation
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
6
|
+
const react_1 = require("react");
|
|
7
|
+
const CancelablePromise_1 = require("./CancelablePromise");
|
|
8
|
+
const noop_1 = tslib_1.__importDefault(require("lodash/noop"));
|
|
9
|
+
const GoodDataSdkError_1 = require("../errors/GoodDataSdkError");
|
|
10
|
+
const safeSerialize_1 = require("./safeSerialize");
|
|
11
11
|
/**
|
|
12
12
|
* This hook provides easy way to work with Promises in React components.
|
|
13
13
|
*
|
|
@@ -25,14 +25,14 @@ var safeSerialize_1 = require("./safeSerialize");
|
|
|
25
25
|
* @public
|
|
26
26
|
*/
|
|
27
27
|
function useCancelablePromise(options, deps) {
|
|
28
|
-
|
|
29
|
-
|
|
28
|
+
const { promise, onLoading = noop_1.default, onPending = noop_1.default, onCancel = noop_1.default, onSuccess = noop_1.default, onError = noop_1.default, } = options;
|
|
29
|
+
const getInitialState = () => ({
|
|
30
30
|
result: undefined,
|
|
31
31
|
error: undefined,
|
|
32
32
|
status: promise ? "loading" : "pending",
|
|
33
|
-
});
|
|
34
|
-
|
|
35
|
-
react_1.useEffect(
|
|
33
|
+
});
|
|
34
|
+
const [state, setState] = react_1.useState(getInitialState());
|
|
35
|
+
react_1.useEffect(() => {
|
|
36
36
|
if (!promise) {
|
|
37
37
|
if (state.status !== "pending") {
|
|
38
38
|
setState({
|
|
@@ -54,22 +54,22 @@ function useCancelablePromise(options, deps) {
|
|
|
54
54
|
}
|
|
55
55
|
onLoading();
|
|
56
56
|
}
|
|
57
|
-
|
|
57
|
+
const cancelablePromise = CancelablePromise_1.makeCancelable(promise());
|
|
58
58
|
cancelablePromise.promise
|
|
59
|
-
.then(
|
|
59
|
+
.then((result) => {
|
|
60
60
|
// Because promises have their own lifecycle independent on react lifecycle,
|
|
61
61
|
// we need to check if cancelable promise was not canceled before it's resolution
|
|
62
62
|
// and our results are still relevant.
|
|
63
63
|
if (!cancelablePromise.getHasCanceled()) {
|
|
64
64
|
setState({
|
|
65
65
|
status: "success",
|
|
66
|
-
result
|
|
66
|
+
result,
|
|
67
67
|
error: undefined,
|
|
68
68
|
});
|
|
69
69
|
onSuccess(result);
|
|
70
70
|
}
|
|
71
71
|
})
|
|
72
|
-
.catch(
|
|
72
|
+
.catch((error) => {
|
|
73
73
|
// Because promises have their own lifecycle independent on react lifecycle,
|
|
74
74
|
// we need to check if cancelable promise was not canceled before it's resolution
|
|
75
75
|
// and our results are still relevant.
|
|
@@ -77,12 +77,12 @@ function useCancelablePromise(options, deps) {
|
|
|
77
77
|
setState({
|
|
78
78
|
status: "error",
|
|
79
79
|
result: undefined,
|
|
80
|
-
error
|
|
80
|
+
error,
|
|
81
81
|
});
|
|
82
82
|
onError(error);
|
|
83
83
|
}
|
|
84
84
|
});
|
|
85
|
-
return
|
|
85
|
+
return () => {
|
|
86
86
|
// If promise was not fulfilled before dependencies change, cancel it.
|
|
87
87
|
// Important notice - request itself is not canceled - we just don't care about unrelevant results anymore.
|
|
88
88
|
if (!cancelablePromise.getHasFulfilled()) {
|
|
@@ -93,13 +93,16 @@ function useCancelablePromise(options, deps) {
|
|
|
93
93
|
}, deps);
|
|
94
94
|
// We want to avoid the return of the old state when some dependency has changed,
|
|
95
95
|
// before another useEffect hook round starts.
|
|
96
|
-
|
|
96
|
+
const [prevDeps, setDeps] = react_1.useState(deps);
|
|
97
97
|
if ((prevDeps === null || prevDeps === void 0 ? void 0 : prevDeps.length) !== (deps === null || deps === void 0 ? void 0 : deps.length)) {
|
|
98
|
-
throw new GoodDataSdkError_1.UnexpectedSdkError(
|
|
98
|
+
throw new GoodDataSdkError_1.UnexpectedSdkError(`The final argument passed to useCancelablePromise changed size between renders. The order and size of this array must remain constant.
|
|
99
|
+
|
|
100
|
+
Previous: ${safeSerialize_1.safeSerialize(prevDeps)}
|
|
101
|
+
Incoming: ${safeSerialize_1.safeSerialize(deps)}`);
|
|
99
102
|
}
|
|
100
|
-
if (deps === null || deps === void 0 ? void 0 : deps.some(
|
|
103
|
+
if (deps === null || deps === void 0 ? void 0 : deps.some((dep, i) => dep !== (prevDeps === null || prevDeps === void 0 ? void 0 : prevDeps[i]))) {
|
|
101
104
|
setDeps(deps);
|
|
102
|
-
|
|
105
|
+
const currentState = getInitialState();
|
|
103
106
|
setState(currentState);
|
|
104
107
|
return currentState;
|
|
105
108
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useCancelablePromise.js","sourceRoot":"","sources":["../../../src/base/react/useCancelablePromise.ts"],"names":[],"mappings":";;;;AAAA,qCAAqC;AACrC
|
|
1
|
+
{"version":3,"file":"useCancelablePromise.js","sourceRoot":"","sources":["../../../src/base/react/useCancelablePromise.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.resolveUseCancelablePromisesStatusParallel = exports.resolveUseCancelablePromisesStatusSerial = exports.resolveUseCancelablePromisesError = exports.resolveUseCancelablePromisesStatus = void 0;
|
|
4
|
-
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
5
|
// (C) 2019-2022 GoodData Corporation
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
const identity_1 = tslib_1.__importDefault(require("lodash/identity"));
|
|
7
|
+
const GoodDataSdkError_1 = require("../errors/GoodDataSdkError");
|
|
8
8
|
/**
|
|
9
9
|
* Resolve status of multiple {@link useCancelablePromise} hooks.
|
|
10
10
|
*
|
|
@@ -28,11 +28,10 @@ var GoodDataSdkError_1 = require("../errors/GoodDataSdkError");
|
|
|
28
28
|
* @returns resolved status
|
|
29
29
|
* @public
|
|
30
30
|
*/
|
|
31
|
-
function resolveUseCancelablePromisesStatus(cancelablePromisesStates, options) {
|
|
31
|
+
function resolveUseCancelablePromisesStatus(cancelablePromisesStates, options = {}) {
|
|
32
32
|
var _a;
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
var strategy = (_a = options.strategy) !== null && _a !== void 0 ? _a : "serial";
|
|
33
|
+
const statuses = collectUseCancelablePromiseStatuses(cancelablePromisesStates);
|
|
34
|
+
const strategy = (_a = options.strategy) !== null && _a !== void 0 ? _a : "serial";
|
|
36
35
|
return strategy === "parallel"
|
|
37
36
|
? resolveUseCancelablePromisesStatusParallel(statuses)
|
|
38
37
|
: resolveUseCancelablePromisesStatusSerial(statuses);
|
|
@@ -50,7 +49,7 @@ exports.resolveUseCancelablePromisesStatus = resolveUseCancelablePromisesStatus;
|
|
|
50
49
|
* @public
|
|
51
50
|
*/
|
|
52
51
|
function resolveUseCancelablePromisesError(states) {
|
|
53
|
-
|
|
52
|
+
const errors = collectUseCancelablePromiseErrors(states);
|
|
54
53
|
return errors.find(identity_1.default);
|
|
55
54
|
}
|
|
56
55
|
exports.resolveUseCancelablePromisesError = resolveUseCancelablePromisesError;
|
|
@@ -58,7 +57,7 @@ exports.resolveUseCancelablePromisesError = resolveUseCancelablePromisesError;
|
|
|
58
57
|
* @internal
|
|
59
58
|
*/
|
|
60
59
|
function resolveUseCancelablePromisesStatusSerial(statuses) {
|
|
61
|
-
return statuses.reduce(
|
|
60
|
+
return statuses.reduce((prevStatus, nextStatus) => {
|
|
62
61
|
switch (prevStatus) {
|
|
63
62
|
case "pending":
|
|
64
63
|
case "loading":
|
|
@@ -67,22 +66,22 @@ function resolveUseCancelablePromisesStatusSerial(statuses) {
|
|
|
67
66
|
case "success":
|
|
68
67
|
return nextStatus;
|
|
69
68
|
default: {
|
|
70
|
-
|
|
71
|
-
throw new GoodDataSdkError_1.UnexpectedSdkError(
|
|
69
|
+
const a = prevStatus;
|
|
70
|
+
throw new GoodDataSdkError_1.UnexpectedSdkError(`Unknown useCancelablePromise status: ${a}`);
|
|
72
71
|
}
|
|
73
72
|
}
|
|
74
73
|
});
|
|
75
74
|
}
|
|
76
75
|
exports.resolveUseCancelablePromisesStatusSerial = resolveUseCancelablePromisesStatusSerial;
|
|
77
|
-
|
|
76
|
+
const priorityByStatus = {
|
|
78
77
|
pending: 0,
|
|
79
78
|
loading: 1,
|
|
80
79
|
error: 2,
|
|
81
80
|
success: 3,
|
|
82
81
|
};
|
|
83
82
|
function compareStatus(a, b) {
|
|
84
|
-
|
|
85
|
-
|
|
83
|
+
const aPriority = priorityByStatus[a];
|
|
84
|
+
const bPriority = priorityByStatus[b];
|
|
86
85
|
if (aPriority < bPriority) {
|
|
87
86
|
return -1;
|
|
88
87
|
}
|
|
@@ -95,14 +94,14 @@ function compareStatus(a, b) {
|
|
|
95
94
|
* @internal
|
|
96
95
|
*/
|
|
97
96
|
function resolveUseCancelablePromisesStatusParallel(statuses) {
|
|
98
|
-
|
|
97
|
+
const [finalStatus] = [...statuses].sort(compareStatus);
|
|
99
98
|
return finalStatus;
|
|
100
99
|
}
|
|
101
100
|
exports.resolveUseCancelablePromisesStatusParallel = resolveUseCancelablePromisesStatusParallel;
|
|
102
101
|
function collectUseCancelablePromiseStatuses(results) {
|
|
103
|
-
return results.map(
|
|
102
|
+
return results.map((r) => r.status);
|
|
104
103
|
}
|
|
105
104
|
function collectUseCancelablePromiseErrors(results) {
|
|
106
|
-
return results.map(
|
|
105
|
+
return results.map((r) => r.error);
|
|
107
106
|
}
|
|
108
107
|
//# sourceMappingURL=useCancelablePromiseUtils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useCancelablePromiseUtils.js","sourceRoot":"","sources":["../../../src/base/react/useCancelablePromiseUtils.ts"],"names":[],"mappings":";;;;AAAA,qCAAqC;AACrC,
|
|
1
|
+
{"version":3,"file":"useCancelablePromiseUtils.js","sourceRoot":"","sources":["../../../src/base/react/useCancelablePromiseUtils.ts"],"names":[],"mappings":";;;;AAAA,qCAAqC;AACrC,uEAAuC;AAEvC,iEAAgE;AAEhE;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,SAAgB,kCAAkC,CAC9C,wBAAuE,EACvE,UAEI,EAAE;;IAEN,MAAM,QAAQ,GAAG,mCAAmC,CAAC,wBAAwB,CAAC,CAAC;IAC/E,MAAM,QAAQ,SAAG,OAAO,CAAC,QAAQ,mCAAI,QAAQ,CAAC;IAE9C,OAAO,QAAQ,KAAK,UAAU;QAC1B,CAAC,CAAC,0CAA0C,CAAC,QAAQ,CAAC;QACtD,CAAC,CAAC,wCAAwC,CAAC,QAAQ,CAAC,CAAC;AAC7D,CAAC;AAZD,gFAYC;AAED;;;;;;;;;;GAUG;AACH,SAAgB,iCAAiC,CAC7C,MAAoD;IAEpD,MAAM,MAAM,GAAG,iCAAiC,CAAC,MAAM,CAAC,CAAC;IACzD,OAAO,MAAM,CAAC,IAAI,CAAC,kBAAQ,CAAC,CAAC;AACjC,CAAC;AALD,8EAKC;AAED;;GAEG;AACH,SAAgB,wCAAwC,CACpD,QAAsC;IAEtC,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,UAAU,EAAE,EAAE;QAC9C,QAAQ,UAAU,EAAE;YAChB,KAAK,SAAS,CAAC;YACf,KAAK,SAAS,CAAC;YACf,KAAK,OAAO;gBACR,OAAO,UAAU,CAAC;YACtB,KAAK,SAAS;gBACV,OAAO,UAAU,CAAC;YACtB,OAAO,CAAC,CAAC;gBACL,MAAM,CAAC,GAAU,UAAU,CAAC;gBAC5B,MAAM,IAAI,qCAAkB,CAAC,wCAAwC,CAAC,EAAE,CAAC,CAAC;aAC7E;SACJ;IACL,CAAC,CAAC,CAAC;AACP,CAAC;AAjBD,4FAiBC;AAED,MAAM,gBAAgB,GAAuD;IACzE,OAAO,EAAE,CAAC;IACV,OAAO,EAAE,CAAC;IACV,KAAK,EAAE,CAAC;IACR,OAAO,EAAE,CAAC;CACb,CAAC;AAEF,SAAS,aAAa,CAAC,CAA6B,EAAE,CAA6B;IAC/E,MAAM,SAAS,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;IACtC,MAAM,SAAS,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAEtC,IAAI,SAAS,GAAG,SAAS,EAAE;QACvB,OAAO,CAAC,CAAC,CAAC;KACb;IACD,IAAI,SAAS,GAAG,SAAS,EAAE;QACvB,OAAO,CAAC,CAAC;KACZ;IAED,OAAO,CAAC,CAAC;AACb,CAAC;AAED;;GAEG;AACH,SAAgB,0CAA0C,CACtD,QAAsC;IAEtC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IACxD,OAAO,WAAW,CAAC;AACvB,CAAC;AALD,gGAKC;AAED,SAAS,mCAAmC,CACxC,OAAsD;IAEtD,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AACxC,CAAC;AAED,SAAS,iCAAiC,CACtC,OAAqD;IAErD,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AACvC,CAAC"}
|
|
@@ -1,47 +1,43 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.usePagedResource = void 0;
|
|
4
|
-
var tslib_1 = require("tslib");
|
|
5
4
|
// (C) 2007-2021 GoodData Corporation
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
const react_1 = require("react");
|
|
6
|
+
const usePromiseCache_1 = require("./usePromiseCache");
|
|
8
7
|
/**
|
|
9
8
|
* Hook for getting data from paged resource
|
|
10
9
|
* @public
|
|
11
10
|
*/
|
|
12
|
-
function usePagedResource(resourceFactory, fetchParams, fetchDeps, resetDeps, getCacheKey, initialState
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
};
|
|
30
|
-
var _b = usePromiseCache_1.usePromiseCache(resourceFactory, fetchParams, fetchDeps, resetDeps, getCacheKey), isLoading = _b.isLoading, results = _b.results;
|
|
31
|
-
react_1.useEffect(function () {
|
|
11
|
+
function usePagedResource(resourceFactory, fetchParams, fetchDeps, resetDeps, getCacheKey, initialState = {
|
|
12
|
+
totalItemsCount: undefined,
|
|
13
|
+
items: [],
|
|
14
|
+
}) {
|
|
15
|
+
const [state, setState] = react_1.useState(initialState);
|
|
16
|
+
const reset = () => setState(initialState);
|
|
17
|
+
const mergeResult = (result) => setState((state) => {
|
|
18
|
+
const isFirstResult = typeof state.totalItemsCount === "undefined";
|
|
19
|
+
const items = isFirstResult ? new Array(result.totalCount) : [...state.items];
|
|
20
|
+
items.splice(result.offset, result.limit, ...result.items);
|
|
21
|
+
return {
|
|
22
|
+
totalItemsCount: result.totalCount,
|
|
23
|
+
items,
|
|
24
|
+
};
|
|
25
|
+
});
|
|
26
|
+
const { isLoading, results } = usePromiseCache_1.usePromiseCache(resourceFactory, fetchParams, fetchDeps, resetDeps, getCacheKey);
|
|
27
|
+
react_1.useEffect(() => {
|
|
32
28
|
// We want to reset state only after resetDeps are changed, not on first run
|
|
33
|
-
return
|
|
29
|
+
return () => {
|
|
34
30
|
reset();
|
|
35
31
|
};
|
|
36
32
|
}, resetDeps);
|
|
37
|
-
react_1.useEffect(
|
|
33
|
+
react_1.useEffect(() => {
|
|
38
34
|
results.forEach(mergeResult);
|
|
39
35
|
}, [results]);
|
|
40
|
-
|
|
36
|
+
const { items, totalItemsCount } = state;
|
|
41
37
|
return {
|
|
42
|
-
isLoading
|
|
43
|
-
items
|
|
44
|
-
totalItemsCount
|
|
38
|
+
isLoading,
|
|
39
|
+
items,
|
|
40
|
+
totalItemsCount,
|
|
45
41
|
};
|
|
46
42
|
}
|
|
47
43
|
exports.usePagedResource = usePagedResource;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usePagedResource.js","sourceRoot":"","sources":["../../../src/base/react/usePagedResource.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"usePagedResource.js","sourceRoot":"","sources":["../../../src/base/react/usePagedResource.ts"],"names":[],"mappings":";;;AAAA,qCAAqC;AACrC,iCAA4C;AAE5C,uDAAoD;AAiBpD;;;GAGG;AACH,SAAgB,gBAAgB,CAC5B,eAAoE,EACpE,WAAsB,EACtB,SAA+B,EAC/B,SAA+B,EAC/B,WAAyC,EACzC,eAA8C;IAC1C,eAAe,EAAE,SAAS;IAC1B,KAAK,EAAE,EAAE;CACZ;IAED,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,gBAAQ,CAAgC,YAAY,CAAC,CAAC;IAEhF,MAAM,KAAK,GAAG,GAAG,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;IAE3C,MAAM,WAAW,GAAG,CAAC,MAA6B,EAAE,EAAE,CAClD,QAAQ,CAAC,CAAC,KAAK,EAAE,EAAE;QACf,MAAM,aAAa,GAAG,OAAO,KAAK,CAAC,eAAe,KAAK,WAAW,CAAC;QACnE,MAAM,KAAK,GAAG,aAAa,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;QAE9E,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAE3D,OAAO;YACH,eAAe,EAAE,MAAM,CAAC,UAAU;YAClC,KAAK;SACR,CAAC;IACN,CAAC,CAAC,CAAC;IAEP,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,iCAAe,CAC1C,eAAe,EACf,WAAW,EACX,SAAS,EACT,SAAS,EACT,WAAW,CACd,CAAC;IAEF,iBAAS,CAAC,GAAG,EAAE;QACX,4EAA4E;QAC5E,OAAO,GAAG,EAAE;YACR,KAAK,EAAE,CAAC;QACZ,CAAC,CAAC;IACN,CAAC,EAAE,SAAS,CAAC,CAAC;IAEd,iBAAS,CAAC,GAAG,EAAE;QACX,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IACjC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAEd,MAAM,EAAE,KAAK,EAAE,eAAe,EAAE,GAAG,KAAK,CAAC;IAEzC,OAAO;QACH,SAAS;QACT,KAAK;QACL,eAAe;KAClB,CAAC;AACN,CAAC;AAtDD,4CAsDC"}
|
|
@@ -2,16 +2,16 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.usePrevious = void 0;
|
|
4
4
|
// (C) 2021 GoodData Corporation
|
|
5
|
-
|
|
5
|
+
const react_1 = require("react");
|
|
6
6
|
/**
|
|
7
7
|
* Hook for tracking the previous value of the React component prop.
|
|
8
8
|
* This is useful as a replacement for the componentWillReceiveProps lifecycle method.
|
|
9
9
|
* See: https://reactjs.org/docs/hooks-faq.html#how-to-get-the-previous-props-or-state
|
|
10
10
|
* @internal
|
|
11
11
|
*/
|
|
12
|
-
exports.usePrevious =
|
|
13
|
-
|
|
14
|
-
react_1.useEffect(
|
|
12
|
+
exports.usePrevious = (props) => {
|
|
13
|
+
const previousProps = react_1.useRef(props);
|
|
14
|
+
react_1.useEffect(() => {
|
|
15
15
|
previousProps.current = props;
|
|
16
16
|
});
|
|
17
17
|
return previousProps.current;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usePrevious.js","sourceRoot":"","sources":["../../../src/base/react/usePrevious.ts"],"names":[],"mappings":";;;AAAA,gCAAgC;AAChC
|
|
1
|
+
{"version":3,"file":"usePrevious.js","sourceRoot":"","sources":["../../../src/base/react/usePrevious.ts"],"names":[],"mappings":";;;AAAA,gCAAgC;AAChC,iCAA0C;AAE1C;;;;;GAKG;AACU,QAAA,WAAW,GAAG,CAAI,KAAQ,EAAK,EAAE;IAC1C,MAAM,aAAa,GAAG,cAAM,CAAI,KAAK,CAAC,CAAC;IAEvC,iBAAS,CAAC,GAAG,EAAE;QACX,aAAa,CAAC,OAAO,GAAG,KAAK,CAAC;IAClC,CAAC,CAAC,CAAC;IAEH,OAAO,aAAa,CAAC,OAAO,CAAC;AACjC,CAAC,CAAC"}
|