@looker/api-explorer 0.9.19 → 0.9.25
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/CHANGELOG.md +135 -1
- package/e2e/e2e.spec.ts +6 -5
- package/lib/ApiExplorer.d.ts +7 -38
- package/lib/ApiExplorer.js +90 -71
- package/lib/ApiExplorer.js.map +1 -1
- package/lib/App.d.ts +1 -0
- package/lib/App.js +29 -0
- package/lib/App.js.map +1 -0
- package/lib/StandaloneApiExplorer.d.ts +1 -1
- package/lib/StandaloneApiExplorer.js +10 -21
- package/lib/StandaloneApiExplorer.js.map +1 -1
- package/lib/components/DocActivityType/DocActivityType.d.ts +2 -2
- package/lib/components/DocActivityType/DocActivityType.js.map +1 -1
- package/lib/components/DocCode/DocCode.d.ts +1 -1
- package/lib/components/DocCode/DocCode.js +6 -10
- package/lib/components/DocCode/DocCode.js.map +1 -1
- package/lib/components/DocMarkdown/DocMarkdown.d.ts +1 -1
- package/lib/components/DocMarkdown/DocMarkdown.js +13 -15
- package/lib/components/DocMarkdown/DocMarkdown.js.map +1 -1
- package/lib/components/DocMethodSummary/DocMethodSummary.d.ts +2 -2
- package/lib/components/DocMethodSummary/DocMethodSummary.js +1 -1
- package/lib/components/DocMethodSummary/DocMethodSummary.js.map +1 -1
- package/lib/components/DocMethodSummary/DocSummaryStatus.d.ts +2 -3
- package/lib/components/DocMethodSummary/DocSummaryStatus.js +3 -3
- package/lib/components/DocMethodSummary/DocSummaryStatus.js.map +1 -1
- package/lib/components/DocMethodSummary/index.d.ts +1 -0
- package/lib/components/DocMethodSummary/index.js +8 -0
- package/lib/components/DocMethodSummary/index.js.map +1 -1
- package/lib/components/DocMethodSummary/utils.d.ts +2 -1
- package/lib/components/DocMethodSummary/utils.js +24 -15
- package/lib/components/DocMethodSummary/utils.js.map +1 -1
- package/lib/components/DocPseudo/DocParam.d.ts +2 -2
- package/lib/components/DocPseudo/DocParam.js.map +1 -1
- package/lib/components/DocPseudo/DocParams.d.ts +2 -2
- package/lib/components/DocPseudo/DocParams.js.map +1 -1
- package/lib/components/DocPseudo/DocPrimaryResponse.d.ts +2 -2
- package/lib/components/DocPseudo/DocPrimaryResponse.js.map +1 -1
- package/lib/components/DocPseudo/DocPseudo.d.ts +2 -2
- package/lib/components/DocPseudo/DocPseudo.js.map +1 -1
- package/lib/components/DocRateLimited/DocRateLimited.d.ts +2 -2
- package/lib/components/DocRateLimited/DocRateLimited.js.map +1 -1
- package/lib/components/DocReferences/DocReferences.d.ts +2 -2
- package/lib/components/DocReferences/DocReferences.js +7 -11
- package/lib/components/DocReferences/DocReferences.js.map +1 -1
- package/lib/components/DocReferences/utils.d.ts +2 -2
- package/lib/components/DocReferences/utils.js +2 -28
- package/lib/components/DocReferences/utils.js.map +1 -1
- package/lib/components/DocResponses/DocResponseTypes.d.ts +3 -2
- package/lib/components/DocResponses/DocResponseTypes.js +3 -1
- package/lib/components/DocResponses/DocResponseTypes.js.map +1 -1
- package/lib/components/DocResponses/DocResponses.d.ts +3 -2
- package/lib/components/DocResponses/DocResponses.js +2 -0
- package/lib/components/DocResponses/DocResponses.js.map +1 -1
- package/lib/components/DocResponses/utils.d.ts +1 -1
- package/lib/components/DocResponses/utils.js.map +1 -1
- package/lib/components/DocSDKs/DocDeclarations.d.ts +2 -2
- package/lib/components/DocSDKs/DocDeclarations.js.map +1 -1
- package/lib/components/DocSDKs/DocSDKs.d.ts +2 -2
- package/lib/components/DocSDKs/DocSDKs.js +1 -1
- package/lib/components/DocSDKs/DocSDKs.js.map +1 -1
- package/lib/components/DocSDKs/utils.d.ts +1 -1
- package/lib/components/DocSDKs/utils.js.map +1 -1
- package/lib/components/DocSchema/DocSchema.d.ts +1 -1
- package/lib/components/DocSchema/DocSchema.js.map +1 -1
- package/lib/components/DocSdkUsage/DocSdkExampleCell.d.ts +1 -1
- package/lib/components/DocSdkUsage/DocSdkExampleCell.js.map +1 -1
- package/lib/components/DocSdkUsage/DocSdkUsage.d.ts +2 -2
- package/lib/components/DocSdkUsage/DocSdkUsage.js +4 -7
- package/lib/components/DocSdkUsage/DocSdkUsage.js.map +1 -1
- package/lib/components/DocSdkUsage/utils.d.ts +2 -2
- package/lib/components/DocSdkUsage/utils.js.map +1 -1
- package/lib/components/DocSource/DocSource.d.ts +2 -2
- package/lib/components/DocSource/DocSource.js +5 -7
- package/lib/components/DocSource/DocSource.js.map +1 -1
- package/lib/components/DocStatus/DocStatus.d.ts +2 -2
- package/lib/components/DocStatus/DocStatus.js.map +1 -1
- package/lib/components/DocTitle/DocTitle.d.ts +1 -1
- package/lib/components/DocTitle/DocTitle.js.map +1 -1
- package/lib/components/DocTypeSummary/DocTypeSummary.d.ts +7 -0
- package/lib/components/DocTypeSummary/DocTypeSummary.js +52 -0
- package/lib/components/DocTypeSummary/DocTypeSummary.js.map +1 -0
- package/lib/components/DocTypeSummary/index.d.ts +1 -0
- package/lib/components/DocTypeSummary/index.js +14 -0
- package/lib/components/DocTypeSummary/index.js.map +1 -0
- package/lib/components/ErrorBoundary/ErrorBoundary.js +1 -1
- package/lib/components/ErrorBoundary/ErrorBoundary.js.map +1 -1
- package/lib/components/ErrorBoundary/components/SomethingWentWrong/components/SomethingWentWrongGraphic/SomethingWentWrongGraphic.d.ts +1 -1
- package/lib/components/ErrorBoundary/components/SomethingWentWrong/components/SomethingWentWrongGraphic/SomethingWentWrongGraphic.js +152 -8
- package/lib/components/ErrorBoundary/components/SomethingWentWrong/components/SomethingWentWrongGraphic/SomethingWentWrongGraphic.js.map +1 -1
- package/lib/components/ExploreType/ExploreProperty.d.ts +10 -7
- package/lib/components/ExploreType/ExploreProperty.js +14 -3
- package/lib/components/ExploreType/ExploreProperty.js.map +1 -1
- package/lib/components/ExploreType/ExploreType.d.ts +4 -2
- package/lib/components/ExploreType/ExploreType.js +9 -5
- package/lib/components/ExploreType/ExploreType.js.map +1 -1
- package/lib/components/ExploreType/exploreUtils.d.ts +2 -2
- package/lib/components/ExploreType/exploreUtils.js.map +1 -1
- package/lib/components/Header/Header.d.ts +5 -4
- package/lib/components/Header/Header.js +4 -2
- package/lib/components/Header/Header.js.map +1 -1
- package/lib/components/Header/index.d.ts +1 -1
- package/lib/components/Header/index.js +6 -0
- package/lib/components/Header/index.js.map +1 -1
- package/lib/components/SelectorContainer/ApiSpecSelector.d.ts +3 -3
- package/lib/components/SelectorContainer/ApiSpecSelector.js +3 -1
- package/lib/components/SelectorContainer/ApiSpecSelector.js.map +1 -1
- package/lib/components/SelectorContainer/SdkLanguageSelector.d.ts +1 -1
- package/lib/components/SelectorContainer/SdkLanguageSelector.js +7 -17
- package/lib/components/SelectorContainer/SdkLanguageSelector.js.map +1 -1
- package/lib/components/SelectorContainer/SelectorContainer.d.ts +5 -4
- package/lib/components/SelectorContainer/SelectorContainer.js +11 -3
- package/lib/components/SelectorContainer/SelectorContainer.js.map +1 -1
- package/lib/components/SideNav/SearchMessage.d.ts +2 -2
- package/lib/components/SideNav/SearchMessage.js.map +1 -1
- package/lib/components/SideNav/SideNav.d.ts +3 -3
- package/lib/components/SideNav/SideNav.js +93 -56
- package/lib/components/SideNav/SideNav.js.map +1 -1
- package/lib/components/SideNav/SideNavMethodTags.d.ts +10 -0
- package/lib/components/SideNav/{SideNavTags.js → SideNavMethodTags.js} +6 -6
- package/lib/components/SideNav/SideNavMethodTags.js.map +1 -0
- package/lib/components/SideNav/SideNavMethods.d.ts +5 -4
- package/lib/components/SideNav/SideNavMethods.js +9 -11
- package/lib/components/SideNav/SideNavMethods.js.map +1 -1
- package/lib/components/SideNav/SideNavTypeTags.d.ts +10 -0
- package/lib/components/SideNav/SideNavTypeTags.js +42 -0
- package/lib/components/SideNav/SideNavTypeTags.js.map +1 -0
- package/lib/components/SideNav/SideNavTypes.d.ts +8 -5
- package/lib/components/SideNav/SideNavTypes.js +83 -32
- package/lib/components/SideNav/SideNavTypes.js.map +1 -1
- package/lib/components/SideNav/searchUtils.d.ts +2 -2
- package/lib/components/SideNav/searchUtils.js +1 -1
- package/lib/components/SideNav/searchUtils.js.map +1 -1
- package/lib/components/common/Loader.d.ts +2 -2
- package/lib/components/common/Loader.js.map +1 -1
- package/lib/components/common/common.d.ts +2 -2
- package/lib/components/common/common.js +2 -1
- package/lib/components/common/common.js.map +1 -1
- package/lib/components/index.d.ts +4 -2
- package/lib/components/index.js +28 -0
- package/lib/components/index.js.map +1 -1
- package/lib/esm/ApiExplorer.js +94 -77
- package/lib/esm/ApiExplorer.js.map +1 -1
- package/lib/esm/App.js +19 -0
- package/lib/esm/App.js.map +1 -0
- package/lib/esm/StandaloneApiExplorer.js +9 -18
- package/lib/esm/StandaloneApiExplorer.js.map +1 -1
- package/lib/esm/components/DocActivityType/DocActivityType.js.map +1 -1
- package/lib/esm/components/DocCode/DocCode.js +5 -8
- package/lib/esm/components/DocCode/DocCode.js.map +1 -1
- package/lib/esm/components/DocMarkdown/DocMarkdown.js +10 -12
- package/lib/esm/components/DocMarkdown/DocMarkdown.js.map +1 -1
- package/lib/esm/components/DocMethodSummary/DocMethodSummary.js +1 -1
- package/lib/esm/components/DocMethodSummary/DocMethodSummary.js.map +1 -1
- package/lib/esm/components/DocMethodSummary/DocSummaryStatus.js +3 -3
- package/lib/esm/components/DocMethodSummary/DocSummaryStatus.js.map +1 -1
- package/lib/esm/components/DocMethodSummary/index.js +1 -0
- package/lib/esm/components/DocMethodSummary/index.js.map +1 -1
- package/lib/esm/components/DocMethodSummary/utils.js +24 -15
- package/lib/esm/components/DocMethodSummary/utils.js.map +1 -1
- package/lib/esm/components/DocPseudo/DocParam.js.map +1 -1
- package/lib/esm/components/DocPseudo/DocParams.js.map +1 -1
- package/lib/esm/components/DocPseudo/DocPrimaryResponse.js.map +1 -1
- package/lib/esm/components/DocPseudo/DocPseudo.js.map +1 -1
- package/lib/esm/components/DocRateLimited/DocRateLimited.js.map +1 -1
- package/lib/esm/components/DocReferences/DocReferences.js +5 -8
- package/lib/esm/components/DocReferences/DocReferences.js.map +1 -1
- package/lib/esm/components/DocReferences/utils.js +1 -24
- package/lib/esm/components/DocReferences/utils.js.map +1 -1
- package/lib/esm/components/DocResponses/DocResponseTypes.js +3 -1
- package/lib/esm/components/DocResponses/DocResponseTypes.js.map +1 -1
- package/lib/esm/components/DocResponses/DocResponses.js +2 -0
- package/lib/esm/components/DocResponses/DocResponses.js.map +1 -1
- package/lib/esm/components/DocResponses/utils.js.map +1 -1
- package/lib/esm/components/DocSDKs/DocDeclarations.js.map +1 -1
- package/lib/esm/components/DocSDKs/DocSDKs.js +2 -2
- package/lib/esm/components/DocSDKs/DocSDKs.js.map +1 -1
- package/lib/esm/components/DocSDKs/utils.js.map +1 -1
- package/lib/esm/components/DocSchema/DocSchema.js.map +1 -1
- package/lib/esm/components/DocSdkUsage/DocSdkExampleCell.js.map +1 -1
- package/lib/esm/components/DocSdkUsage/DocSdkUsage.js +6 -8
- package/lib/esm/components/DocSdkUsage/DocSdkUsage.js.map +1 -1
- package/lib/esm/components/DocSdkUsage/utils.js.map +1 -1
- package/lib/esm/components/DocSource/DocSource.js +4 -5
- package/lib/esm/components/DocSource/DocSource.js.map +1 -1
- package/lib/esm/components/DocStatus/DocStatus.js.map +1 -1
- package/lib/esm/components/DocTitle/DocTitle.js.map +1 -1
- package/lib/esm/components/DocTypeSummary/DocTypeSummary.js +38 -0
- package/lib/esm/components/DocTypeSummary/DocTypeSummary.js.map +1 -0
- package/lib/esm/components/DocTypeSummary/index.js +2 -0
- package/lib/{state/action_creators.js.map → esm/components/DocTypeSummary/index.js.map} +1 -1
- package/lib/esm/components/ErrorBoundary/ErrorBoundary.js +1 -1
- package/lib/esm/components/ErrorBoundary/ErrorBoundary.js.map +1 -1
- package/lib/esm/components/ErrorBoundary/components/SomethingWentWrong/components/SomethingWentWrongGraphic/SomethingWentWrongGraphic.js +153 -6
- package/lib/esm/components/ErrorBoundary/components/SomethingWentWrong/components/SomethingWentWrongGraphic/SomethingWentWrongGraphic.js.map +1 -1
- package/lib/esm/components/ExploreType/ExploreProperty.js +14 -3
- package/lib/esm/components/ExploreType/ExploreProperty.js.map +1 -1
- package/lib/esm/components/ExploreType/ExploreType.js +8 -4
- package/lib/esm/components/ExploreType/ExploreType.js.map +1 -1
- package/lib/esm/components/ExploreType/exploreUtils.js.map +1 -1
- package/lib/esm/components/Header/Header.js +2 -1
- package/lib/esm/components/Header/Header.js.map +1 -1
- package/lib/esm/components/Header/index.js +1 -1
- package/lib/esm/components/Header/index.js.map +1 -1
- package/lib/esm/components/SelectorContainer/ApiSpecSelector.js +4 -2
- package/lib/esm/components/SelectorContainer/ApiSpecSelector.js.map +1 -1
- package/lib/esm/components/SelectorContainer/SdkLanguageSelector.js +7 -12
- package/lib/esm/components/SelectorContainer/SdkLanguageSelector.js.map +1 -1
- package/lib/esm/components/SelectorContainer/SelectorContainer.js +11 -3
- package/lib/esm/components/SelectorContainer/SelectorContainer.js.map +1 -1
- package/lib/esm/components/SideNav/SearchMessage.js.map +1 -1
- package/lib/esm/components/SideNav/SideNav.js +95 -57
- package/lib/esm/components/SideNav/SideNav.js.map +1 -1
- package/lib/esm/components/SideNav/{SideNavTags.js → SideNavMethodTags.js} +4 -4
- package/lib/esm/components/SideNav/SideNavMethodTags.js.map +1 -0
- package/lib/esm/components/SideNav/SideNavMethods.js +9 -12
- package/lib/esm/components/SideNav/SideNavMethods.js.map +1 -1
- package/lib/esm/components/SideNav/SideNavTypeTags.js +29 -0
- package/lib/esm/components/SideNav/SideNavTypeTags.js.map +1 -0
- package/lib/esm/components/SideNav/SideNavTypes.js +84 -33
- package/lib/esm/components/SideNav/SideNavTypes.js.map +1 -1
- package/lib/esm/components/SideNav/searchUtils.js +1 -1
- package/lib/esm/components/SideNav/searchUtils.js.map +1 -1
- package/lib/esm/components/common/Loader.js.map +1 -1
- package/lib/esm/components/common/common.js +2 -1
- package/lib/esm/components/common/common.js.map +1 -1
- package/lib/esm/components/index.js +4 -2
- package/lib/esm/components/index.js.map +1 -1
- package/lib/esm/index.js +4 -18
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/reducers/index.js +0 -1
- package/lib/esm/reducers/index.js.map +1 -1
- package/lib/esm/reducers/spec/actions.js.map +1 -1
- package/lib/esm/reducers/spec/reducer.js.map +1 -1
- package/lib/esm/reducers/spec/utils.js +7 -1
- package/lib/esm/reducers/spec/utils.js.map +1 -1
- package/lib/esm/routes/AppRouter.js +13 -15
- package/lib/esm/routes/AppRouter.js.map +1 -1
- package/lib/esm/scenes/DiffScene/DiffScene.js +65 -11
- package/lib/esm/scenes/DiffScene/DiffScene.js.map +1 -1
- package/lib/esm/scenes/DiffScene/DocDiff/DiffBanner.js.map +1 -1
- package/lib/esm/scenes/DiffScene/DocDiff/DiffItem.js +2 -2
- package/lib/esm/scenes/DiffScene/DocDiff/DiffItem.js.map +1 -1
- package/lib/esm/scenes/DiffScene/DocDiff/DiffLegend.js.map +1 -1
- package/lib/esm/scenes/DiffScene/DocDiff/DocDiff.js.map +1 -1
- package/lib/esm/scenes/DiffScene/DocDiff/docDiffUtils.js.map +1 -1
- package/lib/esm/scenes/DiffScene/diffUtils.js.map +1 -1
- package/lib/esm/scenes/HomeScene/HomeScene.js.map +1 -1
- package/lib/esm/scenes/MethodScene/MethodScene.js +41 -23
- package/lib/esm/scenes/MethodScene/MethodScene.js.map +1 -1
- package/lib/esm/scenes/MethodScene/components/DocOperation.js.map +1 -1
- package/lib/esm/scenes/MethodScene/components/DocRequestBody.js +3 -1
- package/lib/esm/scenes/MethodScene/components/DocRequestBody.js.map +1 -1
- package/lib/esm/scenes/{TagScene/TagScene.js → MethodTagScene/MethodTagScene.js} +16 -11
- package/lib/esm/scenes/MethodTagScene/MethodTagScene.js.map +1 -0
- package/lib/esm/scenes/MethodTagScene/index.js +2 -0
- package/lib/{state/reducers.js.map → esm/scenes/MethodTagScene/index.js.map} +1 -1
- package/lib/esm/scenes/{TagScene → MethodTagScene}/utils.js +0 -0
- package/lib/esm/scenes/MethodTagScene/utils.js.map +1 -0
- package/lib/esm/scenes/TypeScene/TypeScene.js +14 -7
- package/lib/esm/scenes/TypeScene/TypeScene.js.map +1 -1
- package/lib/esm/scenes/TypeTagScene/TypeTagScene.js +57 -0
- package/lib/esm/scenes/TypeTagScene/TypeTagScene.js.map +1 -0
- package/lib/esm/scenes/TypeTagScene/index.js +2 -0
- package/lib/esm/scenes/TypeTagScene/index.js.map +1 -0
- package/lib/esm/scenes/TypeTagScene/utils.js +8 -0
- package/lib/esm/scenes/TypeTagScene/utils.js.map +1 -0
- package/lib/esm/scenes/index.js +2 -1
- package/lib/esm/scenes/index.js.map +1 -1
- package/lib/esm/state/index.js +2 -3
- package/lib/esm/state/index.js.map +1 -1
- package/lib/esm/state/lodes/index.js +3 -0
- package/lib/esm/state/lodes/index.js.map +1 -0
- package/lib/esm/state/lodes/sagas.js +25 -0
- package/lib/esm/state/lodes/sagas.js.map +1 -0
- package/lib/esm/state/lodes/selectors.js +5 -0
- package/lib/esm/state/lodes/selectors.js.map +1 -0
- package/lib/esm/state/lodes/slice.js +30 -0
- package/lib/esm/state/lodes/slice.js.map +1 -0
- package/lib/esm/state/settings/index.js +1 -1
- package/lib/esm/state/settings/index.js.map +1 -1
- package/lib/esm/state/settings/sagas.js +59 -0
- package/lib/esm/state/settings/sagas.js.map +1 -0
- package/lib/esm/state/settings/selectors.js +6 -1
- package/lib/esm/state/settings/selectors.js.map +1 -1
- package/lib/esm/state/settings/slice.js +50 -0
- package/lib/esm/state/settings/slice.js.map +1 -0
- package/lib/esm/state/store.js +13 -3
- package/lib/esm/state/store.js.map +1 -1
- package/lib/esm/test-utils/index.js +3 -4
- package/lib/esm/test-utils/index.js.map +1 -1
- package/lib/esm/test-utils/lodes.js +12 -0
- package/lib/esm/test-utils/lodes.js.map +1 -0
- package/lib/esm/test-utils/redux.js +30 -15
- package/lib/esm/test-utils/redux.js.map +1 -1
- package/lib/esm/test-utils/router.js.map +1 -1
- package/lib/esm/utils/index.js +1 -2
- package/lib/esm/utils/index.js.map +1 -1
- package/lib/esm/utils/lodeUtils.js +3 -7
- package/lib/esm/utils/lodeUtils.js.map +1 -1
- package/lib/esm/utils/path.js +32 -1
- package/lib/esm/utils/path.js.map +1 -1
- package/lib/index.d.ts +4 -1
- package/lib/index.js +52 -23
- package/lib/index.js.map +1 -1
- package/lib/reducers/index.d.ts +0 -1
- package/lib/reducers/index.js +0 -13
- package/lib/reducers/index.js.map +1 -1
- package/lib/reducers/spec/actions.d.ts +1 -1
- package/lib/reducers/spec/actions.js.map +1 -1
- package/lib/reducers/spec/reducer.d.ts +2 -2
- package/lib/reducers/spec/reducer.js.map +1 -1
- package/lib/reducers/spec/utils.d.ts +3 -3
- package/lib/reducers/spec/utils.js +7 -1
- package/lib/reducers/spec/utils.js.map +1 -1
- package/lib/routes/AppRouter.d.ts +5 -5
- package/lib/routes/AppRouter.js +12 -17
- package/lib/routes/AppRouter.js.map +1 -1
- package/lib/scenes/DiffScene/DiffScene.d.ts +2 -2
- package/lib/scenes/DiffScene/DiffScene.js +65 -11
- package/lib/scenes/DiffScene/DiffScene.js.map +1 -1
- package/lib/scenes/DiffScene/DocDiff/DiffBanner.d.ts +2 -2
- package/lib/scenes/DiffScene/DocDiff/DiffBanner.js.map +1 -1
- package/lib/scenes/DiffScene/DocDiff/DiffItem.d.ts +3 -3
- package/lib/scenes/DiffScene/DocDiff/DiffItem.js +1 -1
- package/lib/scenes/DiffScene/DocDiff/DiffItem.js.map +1 -1
- package/lib/scenes/DiffScene/DocDiff/DiffLegend.d.ts +2 -2
- package/lib/scenes/DiffScene/DocDiff/DiffLegend.js.map +1 -1
- package/lib/scenes/DiffScene/DocDiff/DocDiff.d.ts +2 -2
- package/lib/scenes/DiffScene/DocDiff/DocDiff.js.map +1 -1
- package/lib/scenes/DiffScene/DocDiff/docDiffUtils.d.ts +1 -1
- package/lib/scenes/DiffScene/DocDiff/docDiffUtils.js.map +1 -1
- package/lib/scenes/DiffScene/diffUtils.d.ts +1 -1
- package/lib/scenes/DiffScene/diffUtils.js.map +1 -1
- package/lib/scenes/HomeScene/HomeScene.d.ts +2 -2
- package/lib/scenes/HomeScene/HomeScene.js.map +1 -1
- package/lib/scenes/MethodScene/MethodScene.d.ts +5 -5
- package/lib/scenes/MethodScene/MethodScene.js +37 -20
- package/lib/scenes/MethodScene/MethodScene.js.map +1 -1
- package/lib/scenes/MethodScene/components/DocOperation.d.ts +2 -2
- package/lib/scenes/MethodScene/components/DocOperation.js.map +1 -1
- package/lib/scenes/MethodScene/components/DocRequestBody.d.ts +3 -2
- package/lib/scenes/MethodScene/components/DocRequestBody.js +3 -1
- package/lib/scenes/MethodScene/components/DocRequestBody.js.map +1 -1
- package/lib/scenes/MethodTagScene/MethodTagScene.d.ts +7 -0
- package/lib/scenes/{TagScene/TagScene.js → MethodTagScene/MethodTagScene.js} +19 -14
- package/lib/scenes/MethodTagScene/MethodTagScene.js.map +1 -0
- package/lib/scenes/MethodTagScene/index.d.ts +1 -0
- package/lib/scenes/MethodTagScene/index.js +14 -0
- package/lib/{context/search/SearchContext.js.map → scenes/MethodTagScene/index.js.map} +1 -1
- package/lib/scenes/{TagScene → MethodTagScene}/utils.d.ts +1 -1
- package/lib/scenes/{TagScene → MethodTagScene}/utils.js +0 -0
- package/lib/{context/lode/index.js.map → scenes/MethodTagScene/utils.js.map} +1 -1
- package/lib/scenes/TypeScene/TypeScene.d.ts +2 -2
- package/lib/scenes/TypeScene/TypeScene.js +16 -7
- package/lib/scenes/TypeScene/TypeScene.js.map +1 -1
- package/lib/scenes/TypeTagScene/TypeTagScene.d.ts +7 -0
- package/lib/scenes/TypeTagScene/TypeTagScene.js +76 -0
- package/lib/scenes/TypeTagScene/TypeTagScene.js.map +1 -0
- package/lib/scenes/TypeTagScene/index.d.ts +1 -0
- package/lib/scenes/TypeTagScene/index.js +14 -0
- package/lib/{esm/state/settings/actions.js.map → scenes/TypeTagScene/index.js.map} +1 -1
- package/lib/scenes/TypeTagScene/utils.d.ts +2 -0
- package/lib/scenes/TypeTagScene/utils.js +17 -0
- package/lib/scenes/TypeTagScene/utils.js.map +1 -0
- package/lib/scenes/index.d.ts +2 -1
- package/lib/scenes/index.js +11 -3
- package/lib/scenes/index.js.map +1 -1
- package/lib/state/index.d.ts +2 -2
- package/lib/state/index.js +15 -16
- package/lib/state/index.js.map +1 -1
- package/lib/state/lodes/index.d.ts +2 -0
- package/lib/{reducers/search → state/lodes}/index.js +8 -8
- package/lib/state/lodes/index.js.map +1 -0
- package/lib/state/lodes/sagas.d.ts +1 -0
- package/lib/state/lodes/sagas.js +34 -0
- package/lib/state/lodes/sagas.js.map +1 -0
- package/lib/state/lodes/selectors.d.ts +3 -0
- package/lib/state/lodes/selectors.js +17 -0
- package/lib/state/lodes/selectors.js.map +1 -0
- package/lib/state/lodes/slice.d.ts +29 -0
- package/lib/state/lodes/slice.js +45 -0
- package/lib/state/lodes/slice.js.map +1 -0
- package/lib/state/settings/index.d.ts +1 -1
- package/lib/state/settings/index.js +8 -8
- package/lib/state/settings/index.js.map +1 -1
- package/lib/state/settings/sagas.d.ts +1 -0
- package/lib/state/settings/sagas.js +69 -0
- package/lib/state/settings/sagas.js.map +1 -0
- package/lib/state/settings/selectors.d.ts +5 -2
- package/lib/state/settings/selectors.js +17 -3
- package/lib/state/settings/selectors.js.map +1 -1
- package/lib/state/settings/slice.d.ts +42 -0
- package/lib/state/settings/slice.js +69 -0
- package/lib/state/settings/slice.js.map +1 -0
- package/lib/state/store.d.ts +10 -6
- package/lib/state/store.js +15 -5
- package/lib/state/store.js.map +1 -1
- package/lib/test-data/declarations.js +24 -0
- package/lib/test-data/declarations.js.map +1 -0
- package/lib/test-data/examples.js.map +1 -1
- package/lib/test-data/index.js +23 -0
- package/lib/test-data/index.js.map +1 -1
- package/lib/test-data/specs.js.map +1 -1
- package/lib/test-utils/index.d.ts +3 -4
- package/lib/test-utils/index.js +33 -56
- package/lib/test-utils/index.js.map +1 -1
- package/lib/test-utils/lodes.d.ts +4 -0
- package/lib/test-utils/lodes.js +23 -0
- package/lib/test-utils/lodes.js.map +1 -0
- package/lib/test-utils/redux.d.ts +16 -12
- package/lib/test-utils/redux.js +36 -17
- package/lib/test-utils/redux.js.map +1 -1
- package/lib/test-utils/router.d.ts +2 -2
- package/lib/test-utils/router.js.map +1 -1
- package/lib/utils/highlight.d.ts +1 -0
- package/lib/utils/index.d.ts +1 -2
- package/lib/utils/index.js +6 -23
- package/lib/utils/index.js.map +1 -1
- package/lib/utils/lodeUtils.d.ts +3 -3
- package/lib/utils/lodeUtils.js +3 -7
- package/lib/utils/lodeUtils.js.map +1 -1
- package/lib/utils/path.d.ts +3 -1
- package/lib/utils/path.js +36 -2
- package/lib/utils/path.js.map +1 -1
- package/package.json +22 -16
- package/public/Looker.3.1.json +1343 -412
- package/public/Looker.4.0.json +3305 -661
- package/src/ApiExplorer.tsx +158 -99
- package/src/{index.tsx → App.tsx} +1 -1
- package/src/StandaloneApiExplorer.tsx +13 -25
- package/src/components/DocActivityType/DocActivityType.tsx +3 -2
- package/src/components/DocCode/DocCode.tsx +7 -6
- package/src/components/DocMarkdown/DocMarkdown.spec.tsx +16 -11
- package/src/components/DocMarkdown/DocMarkdown.tsx +11 -9
- package/src/components/DocMethodSummary/DocMethodSummary.spec.tsx +2 -2
- package/src/components/DocMethodSummary/DocMethodSummary.tsx +4 -3
- package/src/components/DocMethodSummary/DocSummaryStatus.spec.tsx +5 -5
- package/src/components/DocMethodSummary/DocSummaryStatus.tsx +5 -7
- package/src/components/DocMethodSummary/index.tsx +1 -0
- package/src/components/DocMethodSummary/utils.spec.tsx +7 -7
- package/src/components/DocMethodSummary/utils.tsx +17 -23
- package/src/components/DocPseudo/DocParam.tsx +3 -2
- package/src/components/DocPseudo/DocParams.tsx +3 -2
- package/src/components/DocPseudo/DocPrimaryResponse.tsx +3 -2
- package/src/components/DocPseudo/DocPseudo.tsx +3 -2
- package/src/components/DocRateLimited/DocRateLimited.tsx +3 -2
- package/src/components/DocReferences/DocReferences.spec.tsx +19 -8
- package/src/components/DocReferences/DocReferences.tsx +10 -10
- package/src/components/DocReferences/utils.spec.tsx +1 -13
- package/src/components/DocReferences/utils.tsx +2 -36
- package/src/components/DocResponses/DocResponseTypes.tsx +15 -4
- package/src/components/DocResponses/DocResponses.spec.tsx +1 -1
- package/src/components/DocResponses/DocResponses.tsx +6 -4
- package/src/components/DocResponses/utils.ts +1 -1
- package/src/components/DocSDKs/DocDeclarations.tsx +3 -2
- package/src/components/DocSDKs/DocSDKs.spec.tsx +12 -5
- package/src/components/DocSDKs/DocSDKs.tsx +6 -5
- package/src/components/DocSDKs/utils.ts +1 -1
- package/src/components/DocSchema/DocSchema.tsx +2 -1
- package/src/components/DocSdkUsage/DocSdkExampleCell.tsx +2 -1
- package/src/components/DocSdkUsage/DocSdkUsage.spec.tsx +2 -2
- package/src/components/DocSdkUsage/DocSdkUsage.tsx +9 -7
- package/src/components/DocSdkUsage/utils.ts +4 -2
- package/src/components/DocSource/DocSource.spec.tsx +2 -1
- package/src/components/DocSource/DocSource.tsx +7 -4
- package/src/components/DocStatus/DocStatus.spec.tsx +1 -1
- package/src/components/DocStatus/DocStatus.tsx +3 -2
- package/src/components/DocTitle/DocTitle.tsx +2 -1
- package/src/{state/settings/reducer.spec.ts → components/DocTypeSummary/DocTypeSummary.spec.tsx} +15 -14
- package/src/components/DocTypeSummary/DocTypeSummary.tsx +64 -0
- package/src/{state/action_creators.ts → components/DocTypeSummary/index.tsx} +1 -1
- package/src/components/ErrorBoundary/ErrorBoundary.spec.tsx +11 -9
- package/src/components/ErrorBoundary/ErrorBoundary.tsx +1 -1
- package/src/components/ErrorBoundary/components/SomethingWentWrong/SomethingWentWrong.spec.tsx +6 -5
- package/src/components/ErrorBoundary/components/SomethingWentWrong/components/SomethingWentWrongGraphic/SomethingWentWrongGraphic.tsx +170 -6
- package/src/components/ExploreType/ExploreProperty.spec.tsx +15 -6
- package/src/components/ExploreType/ExploreProperty.tsx +26 -12
- package/src/components/ExploreType/ExploreType.spec.tsx +15 -31
- package/src/components/ExploreType/ExploreType.tsx +13 -6
- package/src/components/ExploreType/exploreUtils.tsx +3 -2
- package/src/components/Header/Header.spec.tsx +29 -37
- package/src/components/Header/Header.tsx +7 -4
- package/src/components/Header/index.ts +1 -1
- package/src/components/SelectorContainer/ApiSpecSelector.spec.tsx +12 -2
- package/src/components/SelectorContainer/ApiSpecSelector.tsx +9 -5
- package/src/components/SelectorContainer/SdkLanguageSelector.spec.tsx +13 -7
- package/src/components/SelectorContainer/SdkLanguageSelector.tsx +7 -14
- package/src/components/SelectorContainer/SelectorContainer.spec.tsx +19 -25
- package/src/components/SelectorContainer/SelectorContainer.tsx +8 -5
- package/src/components/SideNav/SearchMessage.tsx +3 -2
- package/src/components/SideNav/SideNav.spec.tsx +28 -39
- package/src/components/SideNav/SideNav.tsx +102 -68
- package/src/components/SideNav/{SideNavTags.spec.tsx → SideNavMethodTags.spec.tsx} +10 -8
- package/src/components/SideNav/{SideNavTags.tsx → SideNavMethodTags.tsx} +2 -2
- package/src/components/SideNav/SideNavMethods.spec.tsx +9 -5
- package/src/components/SideNav/SideNavMethods.tsx +12 -12
- package/src/components/SideNav/SideNavTypeTags.spec.tsx +79 -0
- package/src/{context/lode/LodeContext.ts → components/SideNav/SideNavTypeTags.tsx} +26 -11
- package/src/components/SideNav/SideNavTypes.spec.tsx +13 -6
- package/src/components/SideNav/SideNavTypes.tsx +94 -43
- package/src/components/SideNav/{searchUtils.tsx → searchUtils.ts} +3 -3
- package/src/components/common/Loader.tsx +3 -2
- package/src/components/common/common.tsx +5 -3
- package/src/components/index.ts +4 -2
- package/src/{context/envAdaptor/index.ts → index.ts} +4 -4
- package/src/reducers/index.ts +0 -1
- package/src/reducers/spec/actions.ts +1 -1
- package/src/reducers/spec/reducer.spec.ts +2 -1
- package/src/reducers/spec/reducer.ts +5 -3
- package/src/reducers/spec/utils.spec.ts +1 -1
- package/src/reducers/spec/utils.ts +9 -4
- package/src/routes/AppRouter.tsx +22 -17
- package/src/scenes/DiffScene/DiffScene.tsx +44 -13
- package/src/scenes/DiffScene/DocDiff/DiffBanner.tsx +3 -2
- package/src/scenes/DiffScene/DocDiff/DiffItem.spec.tsx +2 -1
- package/src/scenes/DiffScene/DocDiff/DiffItem.tsx +6 -5
- package/src/scenes/DiffScene/DocDiff/DiffLegend.tsx +3 -2
- package/src/scenes/DiffScene/DocDiff/DocDiff.tsx +3 -2
- package/src/scenes/DiffScene/DocDiff/docDiffUtils.tsx +2 -7
- package/src/scenes/DiffScene/diffUtils.spec.ts +2 -1
- package/src/scenes/DiffScene/diffUtils.ts +2 -2
- package/src/scenes/HomeScene/HomeScene.tsx +3 -2
- package/src/scenes/MethodScene/MethodScene.tsx +66 -43
- package/src/scenes/MethodScene/components/DocOperation.tsx +3 -2
- package/src/scenes/MethodScene/components/DocRequestBody.spec.tsx +2 -2
- package/src/scenes/MethodScene/components/DocRequestBody.tsx +6 -3
- package/src/scenes/{TagScene/TagScene.spec.tsx → MethodTagScene/MethodTagScene.spec.tsx} +5 -5
- package/src/scenes/{TagScene/TagScene.tsx → MethodTagScene/MethodTagScene.tsx} +23 -16
- package/src/{hooks → scenes/MethodTagScene}/index.ts +1 -1
- package/src/scenes/{TagScene → MethodTagScene}/utils.spec.ts +1 -1
- package/src/scenes/{TagScene → MethodTagScene}/utils.ts +1 -1
- package/src/scenes/TypeScene/TypeScene.tsx +36 -24
- package/src/scenes/TypeTagScene/TypeTagScene.spec.tsx +103 -0
- package/src/scenes/TypeTagScene/TypeTagScene.tsx +93 -0
- package/src/scenes/{TagScene → TypeTagScene}/index.ts +1 -1
- package/src/{state/reducers.ts → scenes/TypeTagScene/utils.spec.ts} +8 -7
- package/src/{hooks/use_actions_hook.ts → scenes/TypeTagScene/utils.ts} +13 -10
- package/src/scenes/index.ts +2 -1
- package/src/state/index.ts +2 -2
- package/src/{reducers/search → state/lodes}/index.ts +2 -2
- package/src/state/lodes/sagas.spec.ts +92 -0
- package/src/state/{settings/reducer.ts → lodes/sagas.ts} +23 -21
- package/src/state/{settings/action_creators.spec.ts → lodes/selectors.spec.ts} +15 -10
- package/src/state/{settings/actions.ts → lodes/selectors.ts} +7 -9
- package/src/state/lodes/slice.ts +69 -0
- package/src/state/settings/index.ts +1 -1
- package/src/state/settings/sagas.spec.ts +121 -0
- package/src/state/settings/sagas.ts +79 -0
- package/src/state/settings/selectors.spec.ts +16 -9
- package/src/state/settings/selectors.ts +14 -3
- package/src/state/settings/slice.ts +94 -0
- package/src/state/store.ts +22 -8
- package/src/{reducers/search/actions.ts → test-data/declarations.ts} +16 -15
- package/src/test-data/examples.ts +1 -1
- package/src/test-data/index.ts +1 -0
- package/src/test-data/specs.ts +2 -1
- package/src/test-utils/index.ts +3 -14
- package/src/{context/search/SearchContext.ts → test-utils/lodes.tsx} +15 -16
- package/src/test-utils/redux.tsx +46 -26
- package/src/test-utils/router.tsx +3 -2
- package/src/utils/index.ts +7 -2
- package/src/utils/lodeUtils.ts +5 -7
- package/src/utils/path.spec.ts +17 -3
- package/src/utils/path.ts +54 -4
- package/webpack.dev.config.js +3 -0
- package/webpack.prod.config.js +4 -0
- package/lib/components/SideNav/SearchCriteriaSelector.d.ts +0 -2
- package/lib/components/SideNav/SearchCriteriaSelector.js +0 -57
- package/lib/components/SideNav/SearchCriteriaSelector.js.map +0 -1
- package/lib/components/SideNav/SideNavTags.d.ts +0 -9
- package/lib/components/SideNav/SideNavTags.js.map +0 -1
- package/lib/context/envAdaptor/EnvAdaptorContext.d.ts +0 -7
- package/lib/context/envAdaptor/EnvAdaptorContext.js +0 -18
- package/lib/context/envAdaptor/EnvAdaptorContext.js.map +0 -1
- package/lib/context/envAdaptor/index.d.ts +0 -1
- package/lib/context/envAdaptor/index.js +0 -20
- package/lib/context/envAdaptor/index.js.map +0 -1
- package/lib/context/index.d.ts +0 -3
- package/lib/context/index.js +0 -48
- package/lib/context/index.js.map +0 -1
- package/lib/context/lode/LodeContext.d.ts +0 -9
- package/lib/context/lode/LodeContext.js +0 -21
- package/lib/context/lode/LodeContext.js.map +0 -1
- package/lib/context/lode/index.d.ts +0 -1
- package/lib/context/lode/index.js +0 -20
- package/lib/context/search/SearchContext.d.ts +0 -9
- package/lib/context/search/SearchContext.js +0 -19
- package/lib/context/search/index.d.ts +0 -1
- package/lib/context/search/index.js +0 -20
- package/lib/context/search/index.js.map +0 -1
- package/lib/esm/components/SideNav/SearchCriteriaSelector.js +0 -38
- package/lib/esm/components/SideNav/SearchCriteriaSelector.js.map +0 -1
- package/lib/esm/components/SideNav/SideNavTags.js.map +0 -1
- package/lib/esm/context/envAdaptor/EnvAdaptorContext.js +0 -7
- package/lib/esm/context/envAdaptor/EnvAdaptorContext.js.map +0 -1
- package/lib/esm/context/envAdaptor/index.js +0 -2
- package/lib/esm/context/envAdaptor/index.js.map +0 -1
- package/lib/esm/context/index.js +0 -4
- package/lib/esm/context/index.js.map +0 -1
- package/lib/esm/context/lode/LodeContext.js +0 -11
- package/lib/esm/context/lode/LodeContext.js.map +0 -1
- package/lib/esm/context/lode/index.js +0 -2
- package/lib/esm/context/lode/index.js.map +0 -1
- package/lib/esm/context/search/SearchContext.js +0 -8
- package/lib/esm/context/search/SearchContext.js.map +0 -1
- package/lib/esm/context/search/index.js +0 -2
- package/lib/esm/context/search/index.js.map +0 -1
- package/lib/esm/hooks/index.js +0 -2
- package/lib/esm/hooks/index.js.map +0 -1
- package/lib/esm/hooks/use_actions_hook.js +0 -11
- package/lib/esm/hooks/use_actions_hook.js.map +0 -1
- package/lib/esm/reducers/search/actions.js +0 -13
- package/lib/esm/reducers/search/actions.js.map +0 -1
- package/lib/esm/reducers/search/index.js +0 -3
- package/lib/esm/reducers/search/index.js.map +0 -1
- package/lib/esm/reducers/search/reducer.js +0 -31
- package/lib/esm/reducers/search/reducer.js.map +0 -1
- package/lib/esm/scenes/MethodScene/utils.js +0 -72
- package/lib/esm/scenes/MethodScene/utils.js.map +0 -1
- package/lib/esm/scenes/TagScene/TagScene.js.map +0 -1
- package/lib/esm/scenes/TagScene/index.js +0 -2
- package/lib/esm/scenes/TagScene/index.js.map +0 -1
- package/lib/esm/scenes/TagScene/utils.js.map +0 -1
- package/lib/esm/state/action_creators.js +0 -2
- package/lib/esm/state/action_creators.js.map +0 -1
- package/lib/esm/state/reducers.js +0 -6
- package/lib/esm/state/reducers.js.map +0 -1
- package/lib/esm/state/settings/action_creators.js +0 -6
- package/lib/esm/state/settings/action_creators.js.map +0 -1
- package/lib/esm/state/settings/actions.js +0 -6
- package/lib/esm/state/settings/reducer.js +0 -19
- package/lib/esm/state/settings/reducer.js.map +0 -1
- package/lib/esm/test-utils/render_with_lode.js +0 -19
- package/lib/esm/test-utils/render_with_lode.js.map +0 -1
- package/lib/esm/test-utils/render_with_search.js +0 -34
- package/lib/esm/test-utils/render_with_search.js.map +0 -1
- package/lib/esm/utils/envAdaptor.js +0 -68
- package/lib/esm/utils/envAdaptor.js.map +0 -1
- package/lib/hooks/index.d.ts +0 -1
- package/lib/hooks/index.js +0 -14
- package/lib/hooks/index.js.map +0 -1
- package/lib/hooks/use_actions_hook.d.ts +0 -2
- package/lib/hooks/use_actions_hook.js +0 -24
- package/lib/hooks/use_actions_hook.js.map +0 -1
- package/lib/reducers/search/actions.d.ts +0 -4
- package/lib/reducers/search/actions.js +0 -25
- package/lib/reducers/search/actions.js.map +0 -1
- package/lib/reducers/search/index.d.ts +0 -2
- package/lib/reducers/search/index.js.map +0 -1
- package/lib/reducers/search/reducer.d.ts +0 -11
- package/lib/reducers/search/reducer.js +0 -43
- package/lib/reducers/search/reducer.js.map +0 -1
- package/lib/scenes/MethodScene/utils.d.ts +0 -3
- package/lib/scenes/MethodScene/utils.js +0 -81
- package/lib/scenes/MethodScene/utils.js.map +0 -1
- package/lib/scenes/TagScene/TagScene.d.ts +0 -7
- package/lib/scenes/TagScene/TagScene.js.map +0 -1
- package/lib/scenes/TagScene/index.d.ts +0 -1
- package/lib/scenes/TagScene/index.js +0 -14
- package/lib/scenes/TagScene/index.js.map +0 -1
- package/lib/scenes/TagScene/utils.js.map +0 -1
- package/lib/state/action_creators.d.ts +0 -1
- package/lib/state/action_creators.js +0 -19
- package/lib/state/reducers.d.ts +0 -4
- package/lib/state/reducers.js +0 -16
- package/lib/state/settings/action_creators.d.ts +0 -2
- package/lib/state/settings/action_creators.js +0 -16
- package/lib/state/settings/action_creators.js.map +0 -1
- package/lib/state/settings/actions.d.ts +0 -8
- package/lib/state/settings/actions.js +0 -13
- package/lib/state/settings/actions.js.map +0 -1
- package/lib/state/settings/reducer.d.ts +0 -6
- package/lib/state/settings/reducer.js +0 -31
- package/lib/state/settings/reducer.js.map +0 -1
- package/lib/test-utils/render_with_lode.d.ts +0 -9
- package/lib/test-utils/render_with_lode.js +0 -36
- package/lib/test-utils/render_with_lode.js.map +0 -1
- package/lib/test-utils/render_with_search.d.ts +0 -4
- package/lib/test-utils/render_with_search.js +0 -52
- package/lib/test-utils/render_with_search.js.map +0 -1
- package/lib/utils/envAdaptor.d.ts +0 -27
- package/lib/utils/envAdaptor.js +0 -81
- package/lib/utils/envAdaptor.js.map +0 -1
- package/src/components/ErrorBoundary/components/SomethingWentWrong/components/SomethingWentWrongGraphic/somethingWentWrong.svg +0 -45
- package/src/components/SideNav/SearchCriteriaSelector.tsx +0 -75
- package/src/context/envAdaptor/EnvAdaptorContext.ts +0 -38
- package/src/context/index.ts +0 -28
- package/src/context/lode/index.ts +0 -26
- package/src/context/search/index.ts +0 -26
- package/src/reducers/search/actions.spec.ts +0 -50
- package/src/reducers/search/reducer.spec.ts +0 -72
- package/src/reducers/search/reducer.ts +0 -66
- package/src/scenes/MethodScene/utils.spec.ts +0 -95
- package/src/scenes/MethodScene/utils.ts +0 -121
- package/src/state/settings/action_creators.ts +0 -33
- package/src/test-utils/render_with_lode.tsx +0 -74
- package/src/test-utils/render_with_search.tsx +0 -69
- package/src/utils/envAdaptor.spec.ts +0 -53
- package/src/utils/envAdaptor.ts +0 -120
|
@@ -24,10 +24,11 @@
|
|
|
24
24
|
|
|
25
25
|
*/
|
|
26
26
|
|
|
27
|
-
import
|
|
27
|
+
import type { FC } from 'react'
|
|
28
|
+
import React from 'react'
|
|
29
|
+
import type { IconType } from '@looker/components'
|
|
28
30
|
import {
|
|
29
31
|
Box,
|
|
30
|
-
IconType,
|
|
31
32
|
Icon,
|
|
32
33
|
Tree,
|
|
33
34
|
TreeItem,
|
|
@@ -38,7 +39,7 @@ import {
|
|
|
38
39
|
import { Done } from '@styled-icons/material/Done'
|
|
39
40
|
import { Lock } from '@styled-icons/material/Lock'
|
|
40
41
|
import { Remove } from '@styled-icons/material/Remove'
|
|
41
|
-
import { IProperty } from '@looker/sdk-codegen'
|
|
42
|
+
import type { IProperty, ApiModel } from '@looker/sdk-codegen'
|
|
42
43
|
import { Markdown } from '@looker/code-editor'
|
|
43
44
|
import {
|
|
44
45
|
expandable,
|
|
@@ -160,17 +161,23 @@ const ExplorePropertyDescription: FC<ExplorePropertyProps> = ({ property }) =>
|
|
|
160
161
|
/>
|
|
161
162
|
) : null
|
|
162
163
|
|
|
164
|
+
interface ExploreApiPropertyProps extends ExplorePropertyProps {
|
|
165
|
+
/** parsed api */
|
|
166
|
+
api: ApiModel
|
|
167
|
+
}
|
|
168
|
+
|
|
163
169
|
/**
|
|
164
170
|
* Show the details of the property
|
|
165
171
|
* @param property
|
|
166
172
|
* @constructor
|
|
167
173
|
*/
|
|
168
|
-
export const ExplorePropertyDetail: FC<
|
|
174
|
+
export const ExplorePropertyDetail: FC<ExploreApiPropertyProps> = ({
|
|
169
175
|
property,
|
|
176
|
+
api,
|
|
170
177
|
}) => (
|
|
171
178
|
<Space style={{ fontSize: 'small', marginLeft: '10rem' }}>
|
|
172
179
|
<Box width="10rem">
|
|
173
|
-
<ExploreTypeLink type={property.type} />
|
|
180
|
+
<ExploreTypeLink type={property.type} api={api} />
|
|
174
181
|
</Box>
|
|
175
182
|
<Box width="5rem">
|
|
176
183
|
<ExplorePropertyRequired property={property} />
|
|
@@ -188,12 +195,15 @@ export const ExplorePropertyDetail: FC<ExplorePropertyProps> = ({
|
|
|
188
195
|
* @param property to display
|
|
189
196
|
* @constructor
|
|
190
197
|
*/
|
|
191
|
-
export const ExplorePropertyNode: FC<
|
|
198
|
+
export const ExplorePropertyNode: FC<ExploreApiPropertyProps> = ({
|
|
199
|
+
property,
|
|
200
|
+
api,
|
|
201
|
+
}) => {
|
|
192
202
|
const legend = typeIcon(property.type)
|
|
193
203
|
return (
|
|
194
204
|
<TreeItem
|
|
195
205
|
{...legend}
|
|
196
|
-
detail={<ExplorePropertyDetail property={property} />}
|
|
206
|
+
detail={<ExplorePropertyDetail api={api} property={property} />}
|
|
197
207
|
>
|
|
198
208
|
{property.jsonName}
|
|
199
209
|
</TreeItem>
|
|
@@ -208,8 +218,9 @@ export const ExplorePropertyNode: FC<ExplorePropertyProps> = ({ property }) => {
|
|
|
208
218
|
* @param openAll expands entire tree if true
|
|
209
219
|
* @constructor
|
|
210
220
|
*/
|
|
211
|
-
export const ExploreProperty: FC<
|
|
221
|
+
export const ExploreProperty: FC<ExploreApiPropertyProps> = ({
|
|
212
222
|
property,
|
|
223
|
+
api,
|
|
213
224
|
level = 0,
|
|
214
225
|
maxDepth = -1,
|
|
215
226
|
openAll = false,
|
|
@@ -218,6 +229,7 @@ export const ExploreProperty: FC<ExplorePropertyProps> = ({
|
|
|
218
229
|
if (!picked.intrinsic) {
|
|
219
230
|
return (
|
|
220
231
|
<ExplorePropertyType
|
|
232
|
+
api={api}
|
|
221
233
|
property={property}
|
|
222
234
|
open={false}
|
|
223
235
|
level={level + 1}
|
|
@@ -226,16 +238,17 @@ export const ExploreProperty: FC<ExplorePropertyProps> = ({
|
|
|
226
238
|
/>
|
|
227
239
|
)
|
|
228
240
|
}
|
|
229
|
-
return <ExplorePropertyNode property={property} />
|
|
241
|
+
return <ExplorePropertyNode api={api} property={property} />
|
|
230
242
|
}
|
|
231
243
|
|
|
232
|
-
interface ExplorePropertyTypeProps extends
|
|
244
|
+
interface ExplorePropertyTypeProps extends ExploreApiPropertyProps {
|
|
233
245
|
/** Open the node display immediately? */
|
|
234
246
|
open?: boolean
|
|
235
247
|
}
|
|
236
248
|
|
|
237
249
|
export const ExplorePropertyType: FC<ExplorePropertyTypeProps> = ({
|
|
238
250
|
property,
|
|
251
|
+
api,
|
|
239
252
|
open = true,
|
|
240
253
|
level = 0,
|
|
241
254
|
maxDepth = -1,
|
|
@@ -246,7 +259,7 @@ export const ExplorePropertyType: FC<ExplorePropertyTypeProps> = ({
|
|
|
246
259
|
const nest = expandable(level, maxDepth)
|
|
247
260
|
const legend = typeIcon(type)
|
|
248
261
|
if (!nest) {
|
|
249
|
-
return <ExplorePropertyNode property={property} />
|
|
262
|
+
return <ExplorePropertyNode api={api} property={property} />
|
|
250
263
|
}
|
|
251
264
|
return (
|
|
252
265
|
<Tree
|
|
@@ -255,10 +268,11 @@ export const ExplorePropertyType: FC<ExplorePropertyTypeProps> = ({
|
|
|
255
268
|
icon={legend.icon}
|
|
256
269
|
defaultOpen={open || openAll}
|
|
257
270
|
density={-3}
|
|
258
|
-
detail={<ExplorePropertyDetail property={property} />}
|
|
271
|
+
detail={<ExplorePropertyDetail api={api} property={property} />}
|
|
259
272
|
>
|
|
260
273
|
{Object.values(props).map((property) => (
|
|
261
274
|
<ExploreProperty
|
|
275
|
+
api={api}
|
|
262
276
|
key={property.fullName}
|
|
263
277
|
property={property}
|
|
264
278
|
level={level + 1}
|
|
@@ -26,9 +26,9 @@
|
|
|
26
26
|
|
|
27
27
|
import React from 'react'
|
|
28
28
|
import { screen } from '@testing-library/react'
|
|
29
|
-
|
|
29
|
+
|
|
30
30
|
import { api } from '../../test-data'
|
|
31
|
-
import { renderWithRouter
|
|
31
|
+
import { renderWithRouter } from '../../test-utils'
|
|
32
32
|
import { ExploreType, ExploreTypeLink } from '.'
|
|
33
33
|
|
|
34
34
|
describe('ExploreType', () => {
|
|
@@ -41,7 +41,7 @@ describe('ExploreType', () => {
|
|
|
41
41
|
const offsetExpected = 2
|
|
42
42
|
|
|
43
43
|
test('expands all when openAll is true and expand defaults', () => {
|
|
44
|
-
|
|
44
|
+
renderWithRouter(<ExploreType api={api} type={targetType} openAll={true} />)
|
|
45
45
|
|
|
46
46
|
expect(screen.getByText(targetType.jsonName)).toBeInTheDocument()
|
|
47
47
|
expect(screen.queryAllByText(colors)).toHaveLength(colorsExpected)
|
|
@@ -50,8 +50,8 @@ describe('ExploreType', () => {
|
|
|
50
50
|
})
|
|
51
51
|
|
|
52
52
|
test('expands nothing if maxDepth is 0', () => {
|
|
53
|
-
|
|
54
|
-
<ExploreType type={targetType} openAll={true} maxDepth={0} />
|
|
53
|
+
renderWithRouter(
|
|
54
|
+
<ExploreType api={api} type={targetType} openAll={true} maxDepth={0} />
|
|
55
55
|
)
|
|
56
56
|
|
|
57
57
|
expect(screen.getByText(targetType.jsonName)).toBeInTheDocument()
|
|
@@ -64,8 +64,8 @@ describe('ExploreType', () => {
|
|
|
64
64
|
})
|
|
65
65
|
|
|
66
66
|
test('expands 2 levels only', () => {
|
|
67
|
-
|
|
68
|
-
<ExploreType type={targetType} maxDepth={2} openAll={true} />
|
|
67
|
+
renderWithRouter(
|
|
68
|
+
<ExploreType api={api} type={targetType} maxDepth={2} openAll={true} />
|
|
69
69
|
)
|
|
70
70
|
|
|
71
71
|
expect(screen.getByText(targetType.jsonName)).toBeInTheDocument()
|
|
@@ -79,64 +79,48 @@ describe('ExploreType', () => {
|
|
|
79
79
|
test('recognizes 3.1', () => {
|
|
80
80
|
const specKey = '3.1'
|
|
81
81
|
const path = `/${specKey}/methods/foo`
|
|
82
|
-
renderWithRouter(
|
|
83
|
-
<MemoryRouter initialEntries={[path]}>
|
|
84
|
-
<ExploreTypeLink type={targetType} />
|
|
85
|
-
</MemoryRouter>
|
|
86
|
-
)
|
|
82
|
+
renderWithRouter(<ExploreTypeLink api={api} type={targetType} />, [path])
|
|
87
83
|
|
|
88
84
|
const actual = screen.getByText(targetType.jsonName)
|
|
89
85
|
expect(actual).toBeInTheDocument()
|
|
90
86
|
expect(actual).toHaveProperty(
|
|
91
87
|
'href',
|
|
92
|
-
`http://localhost/${specKey}/types/${targetType.jsonName}`
|
|
88
|
+
`http://localhost/${specKey}/types/ColorCollection/${targetType.jsonName}`
|
|
93
89
|
)
|
|
94
90
|
})
|
|
95
91
|
test('recognizes 4.0', () => {
|
|
96
92
|
const specKey = '4.0'
|
|
97
93
|
const path = `/${specKey}/methods/foo`
|
|
98
|
-
renderWithRouter(
|
|
99
|
-
<MemoryRouter initialEntries={[path]}>
|
|
100
|
-
<ExploreTypeLink type={targetType} />
|
|
101
|
-
</MemoryRouter>
|
|
102
|
-
)
|
|
94
|
+
renderWithRouter(<ExploreTypeLink api={api} type={targetType} />, [path])
|
|
103
95
|
|
|
104
96
|
const actual = screen.getByText(targetType.jsonName)
|
|
105
97
|
expect(actual).toBeInTheDocument()
|
|
106
98
|
expect(actual).toHaveProperty(
|
|
107
99
|
'href',
|
|
108
|
-
`http://localhost/${specKey}/types/${targetType.jsonName}`
|
|
100
|
+
`http://localhost/${specKey}/types/ColorCollection/${targetType.jsonName}`
|
|
109
101
|
)
|
|
110
102
|
})
|
|
111
103
|
test('recognizes anything', () => {
|
|
112
104
|
const specKey = 'anything'
|
|
113
105
|
const path = `/${specKey}/methods/foo`
|
|
114
|
-
renderWithRouter(
|
|
115
|
-
<MemoryRouter initialEntries={[path]}>
|
|
116
|
-
<ExploreTypeLink type={targetType} />
|
|
117
|
-
</MemoryRouter>
|
|
118
|
-
)
|
|
106
|
+
renderWithRouter(<ExploreTypeLink api={api} type={targetType} />, [path])
|
|
119
107
|
|
|
120
108
|
const actual = screen.getByText(targetType.jsonName)
|
|
121
109
|
expect(actual).toBeInTheDocument()
|
|
122
110
|
expect(actual).toHaveProperty(
|
|
123
111
|
'href',
|
|
124
|
-
`http://localhost/${specKey}/types/${targetType.jsonName}`
|
|
112
|
+
`http://localhost/${specKey}/types/ColorCollection/${targetType.jsonName}`
|
|
125
113
|
)
|
|
126
114
|
})
|
|
127
115
|
test('ignores oauth path', () => {
|
|
128
116
|
const specKey = 'oauth'
|
|
129
117
|
const path = `/${specKey}/methods/foo`
|
|
130
|
-
renderWithRouter(
|
|
131
|
-
<MemoryRouter initialEntries={[path]}>
|
|
132
|
-
<ExploreTypeLink type={targetType} />
|
|
133
|
-
</MemoryRouter>
|
|
134
|
-
)
|
|
118
|
+
renderWithRouter(<ExploreTypeLink api={api} type={targetType} />, [path])
|
|
135
119
|
const actual = screen.getByText(targetType.jsonName)
|
|
136
120
|
expect(actual).toBeInTheDocument()
|
|
137
121
|
expect(actual).toHaveProperty(
|
|
138
122
|
'href',
|
|
139
|
-
`http://types/${targetType.jsonName}`
|
|
123
|
+
`http://types/ColorCollection/${targetType.jsonName}`
|
|
140
124
|
)
|
|
141
125
|
})
|
|
142
126
|
})
|
|
@@ -24,13 +24,15 @@
|
|
|
24
24
|
|
|
25
25
|
*/
|
|
26
26
|
|
|
27
|
-
import
|
|
27
|
+
import type { FC } from 'react'
|
|
28
|
+
import React from 'react'
|
|
28
29
|
import { Code, Tree, TreeItem } from '@looker/components'
|
|
29
|
-
import { IType,
|
|
30
|
+
import type { IType, ApiModel } from '@looker/sdk-codegen'
|
|
31
|
+
import { TypeOfType, typeOfType } from '@looker/sdk-codegen'
|
|
30
32
|
import { useLocation } from 'react-router'
|
|
31
33
|
import { Link } from '../Link'
|
|
32
|
-
import { buildTypePath } from '../../utils'
|
|
33
34
|
import { getSpecKey } from '../../reducers'
|
|
35
|
+
import { buildPath } from '../../utils'
|
|
34
36
|
import {
|
|
35
37
|
ExploreProperty,
|
|
36
38
|
pickType,
|
|
@@ -42,9 +44,10 @@ import {
|
|
|
42
44
|
|
|
43
45
|
interface ExploreTypeLinkProps {
|
|
44
46
|
type: IType
|
|
47
|
+
api: ApiModel
|
|
45
48
|
}
|
|
46
49
|
|
|
47
|
-
export const ExploreTypeLink: FC<ExploreTypeLinkProps> = ({ type }) => {
|
|
50
|
+
export const ExploreTypeLink: FC<ExploreTypeLinkProps> = ({ type, api }) => {
|
|
48
51
|
const location = useLocation()
|
|
49
52
|
const picked = pickType(type)
|
|
50
53
|
const name = picked.name
|
|
@@ -58,7 +61,7 @@ export const ExploreTypeLink: FC<ExploreTypeLinkProps> = ({ type }) => {
|
|
|
58
61
|
return (
|
|
59
62
|
<>
|
|
60
63
|
{prefix}
|
|
61
|
-
<Link key={type.fullName} to={
|
|
64
|
+
<Link key={type.fullName} to={buildPath(api, type, specKey)}>
|
|
62
65
|
{name}
|
|
63
66
|
</Link>
|
|
64
67
|
{suffix}
|
|
@@ -69,6 +72,8 @@ export const ExploreTypeLink: FC<ExploreTypeLinkProps> = ({ type }) => {
|
|
|
69
72
|
interface ExploreTypeProps {
|
|
70
73
|
/** Type to explore */
|
|
71
74
|
type: IType
|
|
75
|
+
/** parsed specification */
|
|
76
|
+
api: ApiModel
|
|
72
77
|
/** Open the node display immediately */
|
|
73
78
|
open?: boolean
|
|
74
79
|
/** Create a link to the type? */
|
|
@@ -83,6 +88,7 @@ interface ExploreTypeProps {
|
|
|
83
88
|
|
|
84
89
|
export const ExploreType: FC<ExploreTypeProps> = ({
|
|
85
90
|
type,
|
|
91
|
+
api,
|
|
86
92
|
open = true,
|
|
87
93
|
link = false,
|
|
88
94
|
level = 0,
|
|
@@ -104,13 +110,14 @@ export const ExploreType: FC<ExploreTypeProps> = ({
|
|
|
104
110
|
{!!type.description && (
|
|
105
111
|
<TreeItem key={type.name}>{type.description}</TreeItem>
|
|
106
112
|
)}
|
|
107
|
-
{link && <ExploreTypeLink type={type} />}
|
|
113
|
+
{link && <ExploreTypeLink type={type} api={api} />}
|
|
108
114
|
</>
|
|
109
115
|
}
|
|
110
116
|
>
|
|
111
117
|
{nest &&
|
|
112
118
|
Object.values(props).map((property) => (
|
|
113
119
|
<ExploreProperty
|
|
120
|
+
api={api}
|
|
114
121
|
key={property.fullName}
|
|
115
122
|
property={property}
|
|
116
123
|
level={level + 1}
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
*/
|
|
26
26
|
|
|
27
27
|
import React from 'react'
|
|
28
|
-
import { IconType } from '@looker/components'
|
|
28
|
+
import type { IconType } from '@looker/components'
|
|
29
29
|
import { FieldString, IdeFileManifest, IdeParameter } from '@looker/icons'
|
|
30
30
|
import { CalendarToday } from '@styled-icons/material/CalendarToday'
|
|
31
31
|
import { Check } from '@styled-icons/material/Check'
|
|
@@ -35,7 +35,8 @@ import { Toc } from '@styled-icons/material/Toc'
|
|
|
35
35
|
import { VpnKey } from '@styled-icons/material/VpnKey'
|
|
36
36
|
import { Tag } from '@styled-icons/material-rounded'
|
|
37
37
|
import { Email } from '@styled-icons/material-outlined'
|
|
38
|
-
import { IType
|
|
38
|
+
import type { IType } from '@looker/sdk-codegen'
|
|
39
|
+
import { TypeOfType, typeOfType } from '@looker/sdk-codegen'
|
|
39
40
|
|
|
40
41
|
/**
|
|
41
42
|
* Get the type or element type if this type is a collection
|
|
@@ -29,7 +29,7 @@ import { codeGenerators } from '@looker/sdk-codegen'
|
|
|
29
29
|
import userEvent from '@testing-library/user-event'
|
|
30
30
|
|
|
31
31
|
import { specs, specState } from '../../test-data'
|
|
32
|
-
import {
|
|
32
|
+
import { renderWithRouterAndReduxProvider } from '../../test-utils'
|
|
33
33
|
import { defaultSettingsState } from '../../state'
|
|
34
34
|
import { Header } from './Header'
|
|
35
35
|
|
|
@@ -43,15 +43,13 @@ describe('Header', () => {
|
|
|
43
43
|
})
|
|
44
44
|
|
|
45
45
|
test('it renders a title', () => {
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
/>
|
|
54
|
-
)
|
|
46
|
+
renderWithRouterAndReduxProvider(
|
|
47
|
+
<Header
|
|
48
|
+
specs={specs}
|
|
49
|
+
spec={specState.spec}
|
|
50
|
+
specDispatch={specDispatch}
|
|
51
|
+
toggleNavigation={toggleNavigation}
|
|
52
|
+
/>
|
|
55
53
|
)
|
|
56
54
|
expect(screen.getByText('API Explorer').closest('a')).toHaveAttribute(
|
|
57
55
|
'href',
|
|
@@ -60,15 +58,13 @@ describe('Header', () => {
|
|
|
60
58
|
})
|
|
61
59
|
|
|
62
60
|
test('it renders a spec selector with the correct default value and options', async () => {
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
/>
|
|
71
|
-
)
|
|
61
|
+
renderWithRouterAndReduxProvider(
|
|
62
|
+
<Header
|
|
63
|
+
specs={specs}
|
|
64
|
+
spec={specState.spec}
|
|
65
|
+
specDispatch={specDispatch}
|
|
66
|
+
toggleNavigation={toggleNavigation}
|
|
67
|
+
/>
|
|
72
68
|
)
|
|
73
69
|
const selector = screen.getByLabelText('spec selector')
|
|
74
70
|
expect(selector).toHaveValue(`${specState.spec.key}`)
|
|
@@ -83,15 +79,13 @@ describe('Header', () => {
|
|
|
83
79
|
})
|
|
84
80
|
|
|
85
81
|
test('it renders an sdk language selector with the correct value and options', async () => {
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
/>
|
|
94
|
-
)
|
|
82
|
+
renderWithRouterAndReduxProvider(
|
|
83
|
+
<Header
|
|
84
|
+
specs={specs}
|
|
85
|
+
spec={specState.spec}
|
|
86
|
+
specDispatch={specDispatch}
|
|
87
|
+
toggleNavigation={toggleNavigation}
|
|
88
|
+
/>
|
|
95
89
|
)
|
|
96
90
|
const selector = screen.getByLabelText('sdk language selector')
|
|
97
91
|
expect(selector).toHaveValue(defaultSettingsState.sdkLanguage)
|
|
@@ -106,15 +100,13 @@ describe('Header', () => {
|
|
|
106
100
|
})
|
|
107
101
|
|
|
108
102
|
test('it renders an icon button for the differ', () => {
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
/>
|
|
117
|
-
)
|
|
103
|
+
renderWithRouterAndReduxProvider(
|
|
104
|
+
<Header
|
|
105
|
+
specs={specs}
|
|
106
|
+
spec={specState.spec}
|
|
107
|
+
specDispatch={specDispatch}
|
|
108
|
+
toggleNavigation={toggleNavigation}
|
|
109
|
+
/>
|
|
118
110
|
)
|
|
119
111
|
expect(
|
|
120
112
|
screen
|
|
@@ -24,7 +24,8 @@
|
|
|
24
24
|
|
|
25
25
|
*/
|
|
26
26
|
|
|
27
|
-
import
|
|
27
|
+
import type { FC, Dispatch } from 'react'
|
|
28
|
+
import React from 'react'
|
|
28
29
|
import styled from 'styled-components'
|
|
29
30
|
import {
|
|
30
31
|
Icon,
|
|
@@ -35,10 +36,10 @@ import {
|
|
|
35
36
|
} from '@looker/components'
|
|
36
37
|
import { LookerLogo } from '@looker/icons'
|
|
37
38
|
import { Menu } from '@styled-icons/material/Menu'
|
|
38
|
-
import { SpecList, SpecItem } from '@looker/sdk-codegen'
|
|
39
|
+
import type { SpecList, SpecItem } from '@looker/sdk-codegen'
|
|
39
40
|
|
|
40
41
|
import { Link } from '../Link'
|
|
41
|
-
import { SpecAction } from '../../reducers'
|
|
42
|
+
import type { SpecAction } from '../../reducers'
|
|
42
43
|
import { SelectorContainer } from '../SelectorContainer'
|
|
43
44
|
|
|
44
45
|
interface HeaderProps {
|
|
@@ -55,6 +56,8 @@ interface HeaderProps {
|
|
|
55
56
|
|
|
56
57
|
export const HEADER_REM = 4
|
|
57
58
|
|
|
59
|
+
export const HEADER_TOGGLE_LABEL = 'Toggle Navigation'
|
|
60
|
+
|
|
58
61
|
/**
|
|
59
62
|
* Renders the API Explorer header
|
|
60
63
|
*/
|
|
@@ -77,7 +80,7 @@ export const HeaderLayout: FC<HeaderProps> = ({
|
|
|
77
80
|
onClick={() => toggleNavigation()}
|
|
78
81
|
icon={<Menu />}
|
|
79
82
|
aria-label="nav toggle"
|
|
80
|
-
label=
|
|
83
|
+
label={HEADER_TOGGLE_LABEL}
|
|
81
84
|
/>
|
|
82
85
|
|
|
83
86
|
<Link to={`/${spec.key}`}>
|
|
@@ -29,11 +29,21 @@ import { renderWithTheme } from '@looker/components-test-utils'
|
|
|
29
29
|
import userEvent from '@testing-library/user-event'
|
|
30
30
|
|
|
31
31
|
import { specs, getLoadedSpecState } from '../../test-data'
|
|
32
|
-
import {
|
|
32
|
+
import { renderWithRouterAndReduxProvider } from '../../test-utils'
|
|
33
33
|
import { ApiSpecSelector } from './ApiSpecSelector'
|
|
34
34
|
|
|
35
35
|
const specState = getLoadedSpecState()
|
|
36
36
|
|
|
37
|
+
jest.mock('react-router-dom', () => {
|
|
38
|
+
const ReactRouterDOM = jest.requireActual('react-router-dom')
|
|
39
|
+
return {
|
|
40
|
+
...ReactRouterDOM,
|
|
41
|
+
useLocation: () => ({
|
|
42
|
+
pathname: '/4.0/methods/Dashboard/dashboard',
|
|
43
|
+
}),
|
|
44
|
+
}
|
|
45
|
+
})
|
|
46
|
+
|
|
37
47
|
describe('ApiSpecSelector', () => {
|
|
38
48
|
const specDispatch = jest.fn()
|
|
39
49
|
Element.prototype.scrollIntoView = jest.fn()
|
|
@@ -68,7 +78,7 @@ describe('ApiSpecSelector', () => {
|
|
|
68
78
|
})
|
|
69
79
|
|
|
70
80
|
test('it fires a SELECT_SPEC action when another spec is selected', async () => {
|
|
71
|
-
|
|
81
|
+
renderWithRouterAndReduxProvider(
|
|
72
82
|
<ApiSpecSelector
|
|
73
83
|
specs={specs}
|
|
74
84
|
spec={specState.spec}
|
|
@@ -24,12 +24,14 @@
|
|
|
24
24
|
|
|
25
25
|
*/
|
|
26
26
|
|
|
27
|
-
import
|
|
27
|
+
import type { FC, Dispatch } from 'react'
|
|
28
|
+
import React from 'react'
|
|
28
29
|
import { Select } from '@looker/components'
|
|
29
|
-
import { useHistory } from 'react-router-dom'
|
|
30
|
+
import { useHistory, useLocation } from 'react-router-dom'
|
|
30
31
|
|
|
31
|
-
import { SpecList, SpecItem } from '@looker/sdk-codegen'
|
|
32
|
-
import { SpecAction
|
|
32
|
+
import type { SpecList, SpecItem } from '@looker/sdk-codegen'
|
|
33
|
+
import type { SpecAction } from '../../reducers'
|
|
34
|
+
import { selectSpec } from '../../reducers'
|
|
33
35
|
|
|
34
36
|
interface ApiSpecSelectorProps {
|
|
35
37
|
specs: SpecList
|
|
@@ -43,6 +45,7 @@ export const ApiSpecSelector: FC<ApiSpecSelectorProps> = ({
|
|
|
43
45
|
specDispatch,
|
|
44
46
|
}) => {
|
|
45
47
|
const history = useHistory()
|
|
48
|
+
const location = useLocation()
|
|
46
49
|
const options = Object.entries(specs).map(([key, spec]) => ({
|
|
47
50
|
value: key,
|
|
48
51
|
label: key,
|
|
@@ -51,7 +54,8 @@ export const ApiSpecSelector: FC<ApiSpecSelectorProps> = ({
|
|
|
51
54
|
|
|
52
55
|
const handleChange = (specKey: string) => {
|
|
53
56
|
specDispatch(selectSpec(specKey))
|
|
54
|
-
|
|
57
|
+
const matchPath = location.pathname.replace(`/${spec.key}`, `/${specKey}`)
|
|
58
|
+
history.push(matchPath)
|
|
55
59
|
}
|
|
56
60
|
|
|
57
61
|
return (
|
|
@@ -27,10 +27,11 @@ import React from 'react'
|
|
|
27
27
|
import { act, screen, waitFor } from '@testing-library/react'
|
|
28
28
|
import userEvent from '@testing-library/user-event'
|
|
29
29
|
import { codeGenerators } from '@looker/sdk-codegen'
|
|
30
|
+
import * as reactRedux from 'react-redux'
|
|
30
31
|
|
|
31
|
-
import {
|
|
32
|
+
import { registerTestEnvAdaptor } from '@looker/extension-utils'
|
|
33
|
+
import { defaultSettingsState, settingsSlice } from '../../state'
|
|
32
34
|
import { renderWithReduxProvider } from '../../test-utils'
|
|
33
|
-
import { EnvAdaptorConstants } from '../../utils'
|
|
34
35
|
import { SdkLanguageSelector } from './SdkLanguageSelector'
|
|
35
36
|
|
|
36
37
|
describe('SdkLanguageSelector', () => {
|
|
@@ -60,18 +61,23 @@ describe('SdkLanguageSelector', () => {
|
|
|
60
61
|
})
|
|
61
62
|
|
|
62
63
|
test('it stores the selected language in localStorage', async () => {
|
|
64
|
+
registerTestEnvAdaptor()
|
|
65
|
+
const mockDispatch = jest.fn()
|
|
66
|
+
jest.spyOn(reactRedux, 'useDispatch').mockReturnValue(mockDispatch)
|
|
63
67
|
renderWithReduxProvider(<SdkLanguageSelector />)
|
|
68
|
+
|
|
64
69
|
const selector = screen.getByRole('textbox')
|
|
65
70
|
expect(defaultSettingsState.sdkLanguage).toEqual('Python')
|
|
66
71
|
expect(selector).toHaveValue('Python')
|
|
67
72
|
|
|
73
|
+
userEvent.click(selector)
|
|
68
74
|
await act(async () => {
|
|
69
|
-
await userEvent.click(selector)
|
|
70
75
|
await userEvent.click(screen.getByRole('option', { name: 'TypeScript' }))
|
|
71
|
-
await waitFor(() => {
|
|
72
|
-
expect(
|
|
73
|
-
|
|
74
|
-
|
|
76
|
+
await waitFor(async () => {
|
|
77
|
+
expect(mockDispatch).toHaveBeenLastCalledWith(
|
|
78
|
+
settingsSlice.actions.setSdkLanguageAction({
|
|
79
|
+
sdkLanguage: 'TypeScript',
|
|
80
|
+
})
|
|
75
81
|
)
|
|
76
82
|
})
|
|
77
83
|
})
|
|
@@ -23,24 +23,21 @@
|
|
|
23
23
|
SOFTWARE.
|
|
24
24
|
|
|
25
25
|
*/
|
|
26
|
-
import
|
|
26
|
+
import type { FC } from 'react'
|
|
27
|
+
import React from 'react'
|
|
27
28
|
import { codeGenerators } from '@looker/sdk-codegen'
|
|
28
29
|
import { Select } from '@looker/components'
|
|
29
30
|
import { useSelector } from 'react-redux'
|
|
30
|
-
import { SelectOptionProps } from '@looker/components
|
|
31
|
+
import type { SelectOptionProps } from '@looker/components'
|
|
31
32
|
|
|
32
|
-
import {
|
|
33
|
-
import { getSelectedSdkLanguage } from '../../state'
|
|
34
|
-
import { EnvAdaptorContext } from '../../context'
|
|
35
|
-
import { EnvAdaptorConstants } from '../../utils'
|
|
33
|
+
import { useSettingActions, selectSdkLanguage } from '../../state'
|
|
36
34
|
|
|
37
35
|
/**
|
|
38
36
|
* Allows the user to select their preferred SDK language
|
|
39
37
|
*/
|
|
40
38
|
export const SdkLanguageSelector: FC = () => {
|
|
41
|
-
const { setSdkLanguageAction } =
|
|
42
|
-
const selectedSdkLanguage = useSelector(
|
|
43
|
-
const { envAdaptor } = useContext(EnvAdaptorContext)
|
|
39
|
+
const { setSdkLanguageAction } = useSettingActions()
|
|
40
|
+
const selectedSdkLanguage = useSelector(selectSdkLanguage)
|
|
44
41
|
|
|
45
42
|
const allSdkLanguages: SelectOptionProps[] = codeGenerators.map((gen) => ({
|
|
46
43
|
value: gen.language,
|
|
@@ -55,11 +52,7 @@ export const SdkLanguageSelector: FC = () => {
|
|
|
55
52
|
})
|
|
56
53
|
|
|
57
54
|
const handleChange = (language: string) => {
|
|
58
|
-
setSdkLanguageAction(language)
|
|
59
|
-
envAdaptor.localStorageSetItem(
|
|
60
|
-
EnvAdaptorConstants.LOCALSTORAGE_SDK_LANGUAGE_KEY,
|
|
61
|
-
language
|
|
62
|
-
)
|
|
55
|
+
setSdkLanguageAction({ sdkLanguage: language })
|
|
63
56
|
}
|
|
64
57
|
|
|
65
58
|
return (
|