@looker/api-explorer 0.9.55 → 0.9.57
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 +580 -640
- package/CODE_OF_CONDUCT.md +10 -10
- package/dist/bundle.js +3 -0
- package/dist/bundle.js.LICENSE.txt +115 -0
- package/dist/bundle.js.map +1 -0
- package/e2e/MethodScene.spec.ts +23 -23
- package/e2e/diffScene.spec.ts +115 -115
- package/e2e/e2e.spec.ts +134 -134
- package/e2e/helpers.ts +11 -11
- package/jest-puppeteer.config.js +2 -2
- package/jest.config.js +4 -7
- package/lib/ApiExplorer.js +5 -3
- package/lib/ApiExplorer.js.map +1 -1
- package/lib/App.js +3 -1
- package/lib/App.js.map +1 -1
- package/lib/StandaloneApiExplorer.js +2 -2
- package/lib/StandaloneApiExplorer.js.map +1 -1
- package/lib/components/Banner/Banner.js +2 -2
- package/lib/components/Banner/Banner.js.map +1 -1
- package/lib/components/Banner/index.js.map +1 -1
- package/lib/components/DocActivityType/DocActivityType.js.map +1 -1
- package/lib/components/DocActivityType/index.js.map +1 -1
- package/lib/components/DocCode/DocCode.js.map +1 -1
- package/lib/components/DocCode/index.js.map +1 -1
- package/lib/components/DocMarkdown/DocMarkdown.js.map +1 -1
- package/lib/components/DocMarkdown/index.js.map +1 -1
- package/lib/components/DocMarkdown/utils.js.map +1 -1
- package/lib/components/DocMethodSummary/DocMethodSummary.js.map +1 -1
- package/lib/components/DocMethodSummary/DocSummaryStatus.js.map +1 -1
- package/lib/components/DocMethodSummary/index.js.map +1 -1
- package/lib/components/DocMethodSummary/utils.d.ts +2 -2
- package/lib/components/DocMethodSummary/utils.js +1 -1
- package/lib/components/DocMethodSummary/utils.js.map +1 -1
- package/lib/components/DocPseudo/DocParam.js.map +1 -1
- package/lib/components/DocPseudo/DocParams.js +2 -2
- package/lib/components/DocPseudo/DocParams.js.map +1 -1
- package/lib/components/DocPseudo/DocPrimaryResponse.js.map +1 -1
- package/lib/components/DocPseudo/DocPseudo.js.map +1 -1
- package/lib/components/DocPseudo/index.js.map +1 -1
- package/lib/components/DocRateLimited/DocRateLimited.js.map +1 -1
- package/lib/components/DocRateLimited/index.js.map +1 -1
- package/lib/components/DocReferences/DocReferences.js.map +1 -1
- package/lib/components/DocReferences/index.js.map +1 -1
- package/lib/components/DocReferences/utils.d.ts +2 -2
- package/lib/components/DocReferences/utils.js.map +1 -1
- package/lib/components/DocSDKs/DocDeclarations.js.map +1 -1
- package/lib/components/DocSDKs/DocSDKs.d.ts +1 -1
- package/lib/components/DocSDKs/DocSDKs.js +2 -2
- package/lib/components/DocSDKs/DocSDKs.js.map +1 -1
- package/lib/components/DocSDKs/index.js.map +1 -1
- package/lib/components/DocSDKs/utils.js.map +1 -1
- package/lib/components/DocSchema/DocSchema.js.map +1 -1
- package/lib/components/DocSchema/index.js.map +1 -1
- package/lib/components/DocSdkUsage/DocSdkExampleCell.js.map +1 -1
- package/lib/components/DocSdkUsage/DocSdkUsage.js +2 -2
- package/lib/components/DocSdkUsage/DocSdkUsage.js.map +1 -1
- package/lib/components/DocSdkUsage/index.js.map +1 -1
- package/lib/components/DocSdkUsage/utils.js +3 -6
- package/lib/components/DocSdkUsage/utils.js.map +1 -1
- package/lib/components/DocSource/DocSource.js +0 -1
- package/lib/components/DocSource/DocSource.js.map +1 -1
- package/lib/components/DocSource/index.js.map +1 -1
- package/lib/components/DocStatus/DocStatus.js.map +1 -1
- package/lib/components/DocStatus/index.js.map +1 -1
- package/lib/components/DocTitle/DocTitle.js.map +1 -1
- package/lib/components/DocTitle/index.js.map +1 -1
- package/lib/components/DocTypeSummary/DocTypeSummary.js.map +1 -1
- package/lib/components/DocTypeSummary/index.js.map +1 -1
- package/lib/components/ErrorBoundary/ErrorBoundary.d.ts +1 -1
- package/lib/components/ErrorBoundary/ErrorBoundary.js +2 -2
- package/lib/components/ErrorBoundary/ErrorBoundary.js.map +1 -1
- package/lib/components/ErrorBoundary/components/SomethingWentWrong/SomethingWentWrong.js.map +1 -1
- package/lib/components/ErrorBoundary/components/SomethingWentWrong/components/SomethingWentWrongGraphic/SomethingWentWrongGraphic.js +1 -2
- package/lib/components/ErrorBoundary/components/SomethingWentWrong/components/SomethingWentWrongGraphic/SomethingWentWrongGraphic.js.map +1 -1
- package/lib/components/ErrorBoundary/components/SomethingWentWrong/components/SomethingWentWrongGraphic/index.js.map +1 -1
- package/lib/components/ErrorBoundary/components/SomethingWentWrong/components/index.js.map +1 -1
- package/lib/components/ErrorBoundary/components/SomethingWentWrong/index.js.map +1 -1
- package/lib/components/ErrorBoundary/index.js.map +1 -1
- package/lib/components/ExploreType/ExploreProperty.d.ts +1 -1
- package/lib/components/ExploreType/ExploreProperty.js.map +1 -1
- package/lib/components/ExploreType/ExploreType.d.ts +1 -1
- package/lib/components/ExploreType/ExploreType.js.map +1 -1
- package/lib/components/ExploreType/exploreUtils.js +1 -2
- package/lib/components/ExploreType/exploreUtils.js.map +1 -1
- package/lib/components/ExploreType/index.js.map +1 -1
- package/lib/components/Header/Header.js +3 -6
- package/lib/components/Header/Header.js.map +1 -1
- package/lib/components/Header/index.js.map +1 -1
- package/lib/components/Link/Link.js +2 -3
- package/lib/components/Link/Link.js.map +1 -1
- package/lib/components/Link/index.js.map +1 -1
- package/lib/components/SelectorContainer/ApiSpecSelector.js.map +1 -1
- package/lib/components/SelectorContainer/SdkLanguageSelector.js +2 -2
- package/lib/components/SelectorContainer/SdkLanguageSelector.js.map +1 -1
- package/lib/components/SelectorContainer/SelectorContainer.js +1 -2
- package/lib/components/SelectorContainer/SelectorContainer.js.map +1 -1
- package/lib/components/SelectorContainer/index.js.map +1 -1
- package/lib/components/SelectorContainer/utils.js.map +1 -1
- package/lib/components/SideNav/SearchMessage.js.map +1 -1
- package/lib/components/SideNav/SideNav.js +2 -11
- package/lib/components/SideNav/SideNav.js.map +1 -1
- package/lib/components/SideNav/SideNavMethodTags.d.ts +2 -2
- package/lib/components/SideNav/SideNavMethodTags.js +2 -3
- package/lib/components/SideNav/SideNavMethodTags.js.map +1 -1
- package/lib/components/SideNav/SideNavMethods.d.ts +2 -2
- package/lib/components/SideNav/SideNavMethods.js +3 -4
- package/lib/components/SideNav/SideNavMethods.js.map +1 -1
- package/lib/components/SideNav/SideNavTypeTags.d.ts +2 -2
- package/lib/components/SideNav/SideNavTypeTags.js +2 -3
- package/lib/components/SideNav/SideNavTypeTags.js.map +1 -1
- package/lib/components/SideNav/SideNavTypes.d.ts +2 -2
- package/lib/components/SideNav/SideNavTypes.js +4 -5
- package/lib/components/SideNav/SideNavTypes.js.map +1 -1
- package/lib/components/SideNav/index.js.map +1 -1
- package/lib/components/SideNav/searchUtils.js.map +1 -1
- package/lib/components/common/Loader.js.map +1 -1
- package/lib/components/common/common.js +3 -4
- package/lib/components/common/common.js.map +1 -1
- package/lib/components/common/index.js.map +1 -1
- package/lib/components/index.js.map +1 -1
- package/lib/custom.d.js.map +1 -1
- package/lib/esm/ApiExplorer.js +7 -5
- package/lib/esm/ApiExplorer.js.map +1 -1
- package/lib/esm/App.js +3 -1
- package/lib/esm/App.js.map +1 -1
- package/lib/esm/StandaloneApiExplorer.js +2 -2
- package/lib/esm/StandaloneApiExplorer.js.map +1 -1
- package/lib/esm/components/Banner/Banner.js +1 -1
- package/lib/esm/components/Banner/Banner.js.map +1 -1
- package/lib/esm/components/Banner/index.js.map +1 -1
- package/lib/esm/components/DocActivityType/DocActivityType.js +1 -1
- package/lib/esm/components/DocActivityType/DocActivityType.js.map +1 -1
- package/lib/esm/components/DocActivityType/index.js.map +1 -1
- package/lib/esm/components/DocCode/DocCode.js.map +1 -1
- package/lib/esm/components/DocCode/index.js.map +1 -1
- package/lib/esm/components/DocMarkdown/DocMarkdown.js.map +1 -1
- package/lib/esm/components/DocMarkdown/index.js.map +1 -1
- package/lib/esm/components/DocMarkdown/utils.js.map +1 -1
- package/lib/esm/components/DocMethodSummary/DocMethodSummary.js.map +1 -1
- package/lib/esm/components/DocMethodSummary/DocSummaryStatus.js.map +1 -1
- package/lib/esm/components/DocMethodSummary/index.js.map +1 -1
- package/lib/esm/components/DocMethodSummary/utils.js +1 -1
- 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/DocPseudo/index.js.map +1 -1
- package/lib/esm/components/DocRateLimited/DocRateLimited.js.map +1 -1
- package/lib/esm/components/DocRateLimited/index.js.map +1 -1
- package/lib/esm/components/DocReferences/DocReferences.js.map +1 -1
- package/lib/esm/components/DocReferences/index.js.map +1 -1
- package/lib/esm/components/DocReferences/utils.js.map +1 -1
- package/lib/esm/components/DocSDKs/DocDeclarations.js.map +1 -1
- package/lib/esm/components/DocSDKs/DocSDKs.js +1 -1
- package/lib/esm/components/DocSDKs/DocSDKs.js.map +1 -1
- package/lib/esm/components/DocSDKs/index.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/DocSchema/index.js.map +1 -1
- package/lib/esm/components/DocSdkUsage/DocSdkExampleCell.js.map +1 -1
- package/lib/esm/components/DocSdkUsage/DocSdkUsage.js +4 -4
- package/lib/esm/components/DocSdkUsage/DocSdkUsage.js.map +1 -1
- package/lib/esm/components/DocSdkUsage/index.js.map +1 -1
- package/lib/esm/components/DocSdkUsage/utils.js.map +1 -1
- package/lib/esm/components/DocSource/DocSource.js +0 -1
- package/lib/esm/components/DocSource/DocSource.js.map +1 -1
- package/lib/esm/components/DocSource/index.js.map +1 -1
- package/lib/esm/components/DocStatus/DocStatus.js.map +1 -1
- package/lib/esm/components/DocStatus/index.js.map +1 -1
- package/lib/esm/components/DocTitle/DocTitle.js.map +1 -1
- package/lib/esm/components/DocTitle/index.js.map +1 -1
- package/lib/esm/components/DocTypeSummary/DocTypeSummary.js.map +1 -1
- package/lib/esm/components/DocTypeSummary/index.js.map +1 -1
- package/lib/esm/components/ErrorBoundary/ErrorBoundary.js.map +1 -1
- package/lib/esm/components/ErrorBoundary/components/SomethingWentWrong/SomethingWentWrong.js.map +1 -1
- package/lib/esm/components/ErrorBoundary/components/SomethingWentWrong/components/SomethingWentWrongGraphic/SomethingWentWrongGraphic.js.map +1 -1
- package/lib/esm/components/ErrorBoundary/components/SomethingWentWrong/components/SomethingWentWrongGraphic/index.js.map +1 -1
- package/lib/esm/components/ErrorBoundary/components/SomethingWentWrong/components/index.js.map +1 -1
- package/lib/esm/components/ErrorBoundary/components/SomethingWentWrong/index.js.map +1 -1
- package/lib/esm/components/ErrorBoundary/index.js.map +1 -1
- package/lib/esm/components/ExploreType/ExploreProperty.js +2 -2
- package/lib/esm/components/ExploreType/ExploreProperty.js.map +1 -1
- package/lib/esm/components/ExploreType/ExploreType.js.map +1 -1
- package/lib/esm/components/ExploreType/exploreUtils.js.map +1 -1
- package/lib/esm/components/ExploreType/index.js.map +1 -1
- package/lib/esm/components/Header/Header.js +1 -1
- package/lib/esm/components/Header/Header.js.map +1 -1
- package/lib/esm/components/Header/index.js.map +1 -1
- package/lib/esm/components/Link/Link.js +1 -1
- package/lib/esm/components/Link/Link.js.map +1 -1
- package/lib/esm/components/Link/index.js.map +1 -1
- package/lib/esm/components/SelectorContainer/ApiSpecSelector.js.map +1 -1
- package/lib/esm/components/SelectorContainer/SdkLanguageSelector.js.map +1 -1
- package/lib/esm/components/SelectorContainer/SelectorContainer.js +1 -1
- package/lib/esm/components/SelectorContainer/SelectorContainer.js.map +1 -1
- package/lib/esm/components/SelectorContainer/index.js.map +1 -1
- package/lib/esm/components/SelectorContainer/utils.js +1 -1
- package/lib/esm/components/SelectorContainer/utils.js.map +1 -1
- package/lib/esm/components/SideNav/SearchMessage.js +1 -1
- package/lib/esm/components/SideNav/SearchMessage.js.map +1 -1
- package/lib/esm/components/SideNav/SideNav.js +3 -12
- package/lib/esm/components/SideNav/SideNav.js.map +1 -1
- package/lib/esm/components/SideNav/SideNavMethodTags.js +1 -1
- package/lib/esm/components/SideNav/SideNavMethodTags.js.map +1 -1
- package/lib/esm/components/SideNav/SideNavMethods.js +1 -1
- package/lib/esm/components/SideNav/SideNavMethods.js.map +1 -1
- package/lib/esm/components/SideNav/SideNavTypeTags.js +1 -1
- package/lib/esm/components/SideNav/SideNavTypeTags.js.map +1 -1
- package/lib/esm/components/SideNav/SideNavTypes.js +2 -2
- package/lib/esm/components/SideNav/SideNavTypes.js.map +1 -1
- package/lib/esm/components/SideNav/index.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.map +1 -1
- package/lib/esm/components/common/index.js.map +1 -1
- package/lib/esm/components/index.js.map +1 -1
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/routes/AppRouter.js.map +1 -1
- package/lib/esm/routes/index.js.map +1 -1
- package/lib/esm/scenes/DiffScene/DiffScene.js +1 -1
- package/lib/esm/scenes/DiffScene/DiffScene.js.map +1 -1
- package/lib/esm/scenes/DiffScene/DocDiff/DiffBanner.js +1 -1
- package/lib/esm/scenes/DiffScene/DocDiff/DiffBanner.js.map +1 -1
- package/lib/esm/scenes/DiffScene/DocDiff/DiffItem.js +1 -1
- 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 +1 -1
- package/lib/esm/scenes/DiffScene/DocDiff/docDiffUtils.js.map +1 -1
- package/lib/esm/scenes/DiffScene/DocDiff/index.js.map +1 -1
- package/lib/esm/scenes/DiffScene/diffUtils.js.map +1 -1
- package/lib/esm/scenes/DiffScene/index.js.map +1 -1
- package/lib/esm/scenes/ErrorDetailScene/ErrorDetailScene.js +2 -1
- package/lib/esm/scenes/ErrorDetailScene/ErrorDetailScene.js.map +1 -1
- package/lib/esm/scenes/ErrorDetailScene/index.js.map +1 -1
- package/lib/esm/scenes/HomeScene/HomeScene.js.map +1 -1
- package/lib/esm/scenes/HomeScene/index.js.map +1 -1
- package/lib/esm/scenes/MethodScene/MethodScene.js +3 -3
- 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.map +1 -1
- package/lib/esm/scenes/MethodScene/components/DocResponses/DocResponseTypes.js +2 -2
- package/lib/esm/scenes/MethodScene/components/DocResponses/DocResponseTypes.js.map +1 -1
- package/lib/esm/scenes/MethodScene/components/DocResponses/DocResponses.js +2 -2
- package/lib/esm/scenes/MethodScene/components/DocResponses/DocResponses.js.map +1 -1
- package/lib/esm/scenes/MethodScene/components/DocResponses/index.js.map +1 -1
- package/lib/esm/scenes/MethodScene/components/DocResponses/utils.js.map +1 -1
- package/lib/esm/scenes/MethodScene/components/index.js.map +1 -1
- package/lib/esm/scenes/MethodScene/index.js.map +1 -1
- package/lib/esm/scenes/MethodTagScene/MethodTagScene.js +2 -2
- package/lib/esm/scenes/MethodTagScene/MethodTagScene.js.map +1 -1
- package/lib/esm/scenes/MethodTagScene/index.js.map +1 -1
- package/lib/esm/scenes/MethodTagScene/utils.js.map +1 -1
- package/lib/esm/scenes/TypeScene/TypeScene.js +3 -3
- package/lib/esm/scenes/TypeScene/TypeScene.js.map +1 -1
- package/lib/esm/scenes/TypeScene/index.js.map +1 -1
- package/lib/esm/scenes/TypeTagScene/TypeTagScene.js +1 -1
- package/lib/esm/scenes/TypeTagScene/TypeTagScene.js.map +1 -1
- package/lib/esm/scenes/TypeTagScene/index.js.map +1 -1
- package/lib/esm/scenes/TypeTagScene/utils.js.map +1 -1
- package/lib/esm/scenes/index.js.map +1 -1
- package/lib/esm/scenes/utils/hooks/index.js.map +1 -1
- package/lib/esm/scenes/utils/hooks/tagStoreSync.js.map +1 -1
- package/lib/esm/scenes/utils/index.js.map +1 -1
- package/lib/esm/state/index.js.map +1 -1
- package/lib/esm/state/lodes/index.js.map +1 -1
- package/lib/esm/state/lodes/sagas.js.map +1 -1
- package/lib/esm/state/lodes/selectors.js.map +1 -1
- package/lib/esm/state/lodes/slice.js.map +1 -1
- package/lib/esm/state/settings/index.js.map +1 -1
- package/lib/esm/state/settings/sagas.js +6 -6
- package/lib/esm/state/settings/sagas.js.map +1 -1
- package/lib/esm/state/settings/selectors.js.map +1 -1
- package/lib/esm/state/settings/slice.js +4 -4
- package/lib/esm/state/settings/slice.js.map +1 -1
- package/lib/esm/state/specs/index.js.map +1 -1
- package/lib/esm/state/specs/sagas.js +1 -1
- package/lib/esm/state/specs/sagas.js.map +1 -1
- package/lib/esm/state/specs/selectors.js.map +1 -1
- package/lib/esm/state/specs/slice.js.map +1 -1
- package/lib/esm/state/store.js +5 -5
- package/lib/esm/state/store.js.map +1 -1
- package/lib/esm/test-data/declarations.js.map +1 -1
- package/lib/esm/test-data/examples.js.map +1 -1
- package/lib/esm/test-data/index.js.map +1 -1
- package/lib/esm/test-data/sdkLanguages.js.map +1 -1
- package/lib/esm/test-data/specs.js +4 -4
- package/lib/esm/test-data/specs.js.map +1 -1
- package/lib/esm/test-utils/index.js.map +1 -1
- package/lib/esm/test-utils/lodes.js.map +1 -1
- package/lib/esm/test-utils/redux.js +5 -5
- package/lib/esm/test-utils/redux.js.map +1 -1
- package/lib/esm/test-utils/router.js.map +1 -1
- package/lib/esm/utils/adaptorUtils.js.map +1 -1
- package/lib/esm/utils/apixAdaptor.js +1 -1
- package/lib/esm/utils/apixAdaptor.js.map +1 -1
- package/lib/esm/utils/highlight.js.map +1 -1
- package/lib/esm/utils/hooks/globalStoreSync.js.map +1 -1
- package/lib/esm/utils/hooks/index.js.map +1 -1
- package/lib/esm/utils/hooks/navigation.js +2 -1
- package/lib/esm/utils/hooks/navigation.js.map +1 -1
- package/lib/esm/utils/hooks/useQuery.js.map +1 -1
- package/lib/esm/utils/index.js.map +1 -1
- package/lib/esm/utils/lodeUtils.js.map +1 -1
- package/lib/esm/utils/path.js +1 -1
- package/lib/esm/utils/path.js.map +1 -1
- package/lib/esm/utils/sdkLanguage.js +4 -4
- package/lib/esm/utils/sdkLanguage.js.map +1 -1
- package/lib/esm/utils/useWindowSize.js.map +1 -1
- package/lib/index.js.map +1 -1
- package/lib/routes/AppRouter.js.map +1 -1
- package/lib/routes/index.js.map +1 -1
- package/lib/scenes/DiffScene/DiffScene.js +2 -2
- package/lib/scenes/DiffScene/DiffScene.js.map +1 -1
- package/lib/scenes/DiffScene/DocDiff/DiffBanner.js.map +1 -1
- package/lib/scenes/DiffScene/DocDiff/DiffItem.js +2 -2
- package/lib/scenes/DiffScene/DocDiff/DiffItem.js.map +1 -1
- package/lib/scenes/DiffScene/DocDiff/DiffLegend.js.map +1 -1
- package/lib/scenes/DiffScene/DocDiff/DocDiff.js +2 -2
- package/lib/scenes/DiffScene/DocDiff/DocDiff.js.map +1 -1
- package/lib/scenes/DiffScene/DocDiff/docDiffUtils.js.map +1 -1
- package/lib/scenes/DiffScene/DocDiff/index.js.map +1 -1
- package/lib/scenes/DiffScene/diffUtils.js +2 -4
- package/lib/scenes/DiffScene/diffUtils.js.map +1 -1
- package/lib/scenes/DiffScene/index.js.map +1 -1
- package/lib/scenes/ErrorDetailScene/ErrorDetailScene.d.ts +2 -2
- package/lib/scenes/ErrorDetailScene/ErrorDetailScene.js +2 -1
- package/lib/scenes/ErrorDetailScene/ErrorDetailScene.js.map +1 -1
- package/lib/scenes/ErrorDetailScene/index.js.map +1 -1
- package/lib/scenes/HomeScene/HomeScene.js.map +1 -1
- package/lib/scenes/HomeScene/index.js.map +1 -1
- package/lib/scenes/MethodScene/MethodScene.js +2 -2
- package/lib/scenes/MethodScene/MethodScene.js.map +1 -1
- package/lib/scenes/MethodScene/components/DocOperation.js.map +1 -1
- package/lib/scenes/MethodScene/components/DocRequestBody.js.map +1 -1
- package/lib/scenes/MethodScene/components/DocResponses/DocResponseTypes.d.ts +3 -3
- package/lib/scenes/MethodScene/components/DocResponses/DocResponseTypes.js +2 -2
- package/lib/scenes/MethodScene/components/DocResponses/DocResponseTypes.js.map +1 -1
- package/lib/scenes/MethodScene/components/DocResponses/DocResponses.d.ts +2 -2
- package/lib/scenes/MethodScene/components/DocResponses/DocResponses.js +2 -2
- package/lib/scenes/MethodScene/components/DocResponses/DocResponses.js.map +1 -1
- package/lib/scenes/MethodScene/components/DocResponses/index.js.map +1 -1
- package/lib/scenes/MethodScene/components/DocResponses/utils.js.map +1 -1
- package/lib/scenes/MethodScene/components/index.js.map +1 -1
- package/lib/scenes/MethodScene/index.js.map +1 -1
- package/lib/scenes/MethodTagScene/MethodTagScene.js +2 -2
- package/lib/scenes/MethodTagScene/MethodTagScene.js.map +1 -1
- package/lib/scenes/MethodTagScene/index.js.map +1 -1
- package/lib/scenes/MethodTagScene/utils.js.map +1 -1
- package/lib/scenes/TypeScene/TypeScene.js +2 -2
- package/lib/scenes/TypeScene/TypeScene.js.map +1 -1
- package/lib/scenes/TypeScene/index.js.map +1 -1
- package/lib/scenes/TypeTagScene/TypeTagScene.js +2 -2
- package/lib/scenes/TypeTagScene/TypeTagScene.js.map +1 -1
- package/lib/scenes/TypeTagScene/index.js.map +1 -1
- package/lib/scenes/TypeTagScene/utils.js.map +1 -1
- package/lib/scenes/index.js.map +1 -1
- package/lib/scenes/utils/hooks/index.js.map +1 -1
- package/lib/scenes/utils/hooks/tagStoreSync.js.map +1 -1
- package/lib/scenes/utils/index.js.map +1 -1
- package/lib/state/index.js.map +1 -1
- package/lib/state/lodes/index.js.map +1 -1
- package/lib/state/lodes/sagas.js.map +1 -1
- package/lib/state/lodes/selectors.js.map +1 -1
- package/lib/state/lodes/slice.d.ts +1 -1
- package/lib/state/lodes/slice.js +3 -6
- package/lib/state/lodes/slice.js.map +1 -1
- package/lib/state/settings/index.js.map +1 -1
- package/lib/state/settings/sagas.js +4 -4
- package/lib/state/settings/sagas.js.map +1 -1
- package/lib/state/settings/selectors.js.map +1 -1
- package/lib/state/settings/slice.d.ts +4 -4
- package/lib/state/settings/slice.js +8 -12
- package/lib/state/settings/slice.js.map +1 -1
- package/lib/state/specs/index.js.map +1 -1
- package/lib/state/specs/sagas.js.map +1 -1
- package/lib/state/specs/selectors.js.map +1 -1
- package/lib/state/specs/slice.js +3 -6
- package/lib/state/specs/slice.js.map +1 -1
- package/lib/state/store.js +5 -6
- package/lib/state/store.js.map +1 -1
- package/lib/test-data/declarations.js +1 -2
- package/lib/test-data/declarations.js.map +1 -1
- package/lib/test-data/examples.js +1 -2
- package/lib/test-data/examples.js.map +1 -1
- package/lib/test-data/index.js.map +1 -1
- package/lib/test-data/sdkLanguages.js +2 -4
- package/lib/test-data/sdkLanguages.js.map +1 -1
- package/lib/test-data/specs.js +8 -12
- package/lib/test-data/specs.js.map +1 -1
- package/lib/test-utils/index.js.map +1 -1
- package/lib/test-utils/lodes.d.ts +1 -1
- package/lib/test-utils/lodes.js.map +1 -1
- package/lib/test-utils/redux.d.ts +6 -5
- package/lib/test-utils/redux.js +7 -10
- package/lib/test-utils/redux.js.map +1 -1
- package/lib/test-utils/router.d.ts +3 -2
- package/lib/test-utils/router.js +1 -2
- package/lib/test-utils/router.js.map +1 -1
- package/lib/utils/adaptorUtils.d.ts +3 -3
- package/lib/utils/adaptorUtils.js +3 -6
- package/lib/utils/adaptorUtils.js.map +1 -1
- package/lib/utils/apixAdaptor.js.map +1 -1
- package/lib/utils/highlight.d.ts +2 -2
- package/lib/utils/highlight.js.map +1 -1
- package/lib/utils/hooks/globalStoreSync.js.map +1 -1
- package/lib/utils/hooks/index.js.map +1 -1
- package/lib/utils/hooks/navigation.d.ts +1 -1
- package/lib/utils/hooks/navigation.js +2 -1
- package/lib/utils/hooks/navigation.js.map +1 -1
- package/lib/utils/hooks/useQuery.js.map +1 -1
- package/lib/utils/index.js.map +1 -1
- package/lib/utils/lodeUtils.d.ts +1 -1
- package/lib/utils/lodeUtils.js +2 -4
- package/lib/utils/lodeUtils.js.map +1 -1
- package/lib/utils/path.d.ts +2 -2
- package/lib/utils/path.js +5 -9
- package/lib/utils/path.js.map +1 -1
- package/lib/utils/sdkLanguage.js +5 -6
- package/lib/utils/sdkLanguage.js.map +1 -1
- package/lib/utils/useWindowSize.js.map +1 -1
- package/package.json +38 -38
- package/src/ApiExplorer.tsx +72 -72
- package/src/App.tsx +9 -9
- package/src/StandaloneApiExplorer.tsx +24 -24
- package/src/components/Banner/Banner.spec.tsx +27 -25
- package/src/components/Banner/Banner.tsx +20 -20
- package/src/components/Banner/index.ts +1 -1
- package/src/components/DocActivityType/DocActivityType.spec.tsx +17 -16
- package/src/components/DocActivityType/DocActivityType.tsx +6 -6
- package/src/components/DocActivityType/index.ts +1 -1
- package/src/components/DocCode/DocCode.tsx +16 -14
- package/src/components/DocCode/index.ts +1 -1
- package/src/components/DocMarkdown/DocMarkdown.spec.tsx +41 -41
- package/src/components/DocMarkdown/DocMarkdown.tsx +19 -19
- package/src/components/DocMarkdown/index.ts +1 -1
- package/src/components/DocMarkdown/utils.spec.ts +26 -26
- package/src/components/DocMarkdown/utils.ts +4 -4
- package/src/components/DocMethodSummary/DocMethodSummary.spec.tsx +18 -17
- package/src/components/DocMethodSummary/DocMethodSummary.tsx +9 -9
- package/src/components/DocMethodSummary/DocSummaryStatus.spec.tsx +12 -12
- package/src/components/DocMethodSummary/DocSummaryStatus.tsx +6 -6
- package/src/components/DocMethodSummary/index.tsx +3 -3
- package/src/components/DocMethodSummary/utils.spec.tsx +5 -5
- package/src/components/DocMethodSummary/utils.tsx +23 -23
- package/src/components/DocPseudo/DocParam.spec.tsx +22 -22
- package/src/components/DocPseudo/DocParam.tsx +7 -7
- package/src/components/DocPseudo/DocParams.spec.tsx +27 -27
- package/src/components/DocPseudo/DocParams.tsx +6 -6
- package/src/components/DocPseudo/DocPrimaryResponse.spec.tsx +16 -16
- package/src/components/DocPseudo/DocPrimaryResponse.tsx +6 -6
- package/src/components/DocPseudo/DocPseudo.spec.tsx +15 -13
- package/src/components/DocPseudo/DocPseudo.tsx +11 -11
- package/src/components/DocPseudo/index.tsx +1 -1
- package/src/components/DocRateLimited/DocRateLimited.spec.tsx +16 -16
- package/src/components/DocRateLimited/DocRateLimited.tsx +6 -6
- package/src/components/DocRateLimited/index.ts +1 -1
- package/src/components/DocReferences/DocReferences.spec.tsx +29 -26
- package/src/components/DocReferences/DocReferences.tsx +16 -16
- package/src/components/DocReferences/index.ts +1 -1
- package/src/components/DocReferences/utils.spec.tsx +2 -2
- package/src/components/DocReferences/utils.tsx +8 -8
- package/src/components/DocSDKs/DocDeclarations.tsx +7 -7
- package/src/components/DocSDKs/DocSDKs.spec.tsx +22 -22
- package/src/components/DocSDKs/DocSDKs.tsx +36 -36
- package/src/components/DocSDKs/index.ts +1 -1
- package/src/components/DocSDKs/utils.spec.ts +8 -8
- package/src/components/DocSDKs/utils.ts +6 -6
- package/src/components/DocSchema/DocSchema.tsx +9 -9
- package/src/components/DocSchema/index.ts +1 -1
- package/src/components/DocSdkUsage/DocSdkExampleCell.tsx +5 -5
- package/src/components/DocSdkUsage/DocSdkUsage.spec.tsx +22 -22
- package/src/components/DocSdkUsage/DocSdkUsage.tsx +35 -34
- package/src/components/DocSdkUsage/index.ts +1 -1
- package/src/components/DocSdkUsage/utils.ts +29 -30
- package/src/components/DocSource/DocSource.spec.tsx +33 -37
- package/src/components/DocSource/DocSource.tsx +17 -17
- package/src/components/DocSource/index.ts +1 -1
- package/src/components/DocStatus/DocStatus.spec.tsx +12 -12
- package/src/components/DocStatus/DocStatus.tsx +8 -8
- package/src/components/DocStatus/index.ts +1 -1
- package/src/components/DocTitle/DocTitle.spec.tsx +9 -9
- package/src/components/DocTitle/DocTitle.tsx +4 -4
- package/src/components/DocTitle/index.ts +1 -1
- package/src/components/DocTypeSummary/DocTypeSummary.spec.tsx +11 -11
- package/src/components/DocTypeSummary/DocTypeSummary.tsx +11 -11
- package/src/components/DocTypeSummary/index.tsx +1 -1
- package/src/components/ErrorBoundary/ErrorBoundary.spec.tsx +29 -29
- package/src/components/ErrorBoundary/ErrorBoundary.tsx +16 -16
- package/src/components/ErrorBoundary/components/SomethingWentWrong/SomethingWentWrong.spec.tsx +17 -17
- package/src/components/ErrorBoundary/components/SomethingWentWrong/SomethingWentWrong.tsx +11 -11
- package/src/components/ErrorBoundary/components/SomethingWentWrong/components/SomethingWentWrongGraphic/SomethingWentWrongGraphic.tsx +4 -4
- package/src/components/ErrorBoundary/components/SomethingWentWrong/components/SomethingWentWrongGraphic/index.ts +1 -1
- package/src/components/ErrorBoundary/components/SomethingWentWrong/components/index.ts +1 -1
- package/src/components/ErrorBoundary/components/SomethingWentWrong/index.ts +2 -2
- package/src/components/ErrorBoundary/index.ts +1 -1
- package/src/components/ExploreType/ExploreProperty.spec.tsx +60 -58
- package/src/components/ExploreType/ExploreProperty.tsx +53 -53
- package/src/components/ExploreType/ExploreType.spec.tsx +41 -39
- package/src/components/ExploreType/ExploreType.tsx +33 -33
- package/src/components/ExploreType/exploreUtils.spec.tsx +38 -38
- package/src/components/ExploreType/exploreUtils.tsx +44 -44
- package/src/components/ExploreType/index.ts +3 -3
- package/src/components/Header/Header.spec.tsx +38 -44
- package/src/components/Header/Header.tsx +18 -18
- package/src/components/Header/index.ts +1 -1
- package/src/components/Link/Link.tsx +3 -3
- package/src/components/Link/index.ts +1 -1
- package/src/components/SelectorContainer/ApiSpecSelector.spec.tsx +31 -31
- package/src/components/SelectorContainer/ApiSpecSelector.tsx +18 -18
- package/src/components/SelectorContainer/SdkLanguageSelector.spec.tsx +42 -42
- package/src/components/SelectorContainer/SdkLanguageSelector.tsx +19 -19
- package/src/components/SelectorContainer/SelectorContainer.spec.tsx +31 -39
- package/src/components/SelectorContainer/SelectorContainer.tsx +15 -15
- package/src/components/SelectorContainer/index.ts +1 -1
- package/src/components/SelectorContainer/utils.ts +10 -10
- package/src/components/SideNav/SearchMessage.tsx +7 -7
- package/src/components/SideNav/SideNav.spec.tsx +70 -70
- package/src/components/SideNav/SideNav.tsx +77 -83
- package/src/components/SideNav/SideNavMethodTags.spec.tsx +35 -35
- package/src/components/SideNav/SideNavMethodTags.tsx +9 -9
- package/src/components/SideNav/SideNavMethods.spec.tsx +52 -52
- package/src/components/SideNav/SideNavMethods.tsx +28 -28
- package/src/components/SideNav/SideNavTypeTags.spec.tsx +36 -36
- package/src/components/SideNav/SideNavTypeTags.tsx +9 -9
- package/src/components/SideNav/SideNavTypes.spec.tsx +36 -36
- package/src/components/SideNav/SideNavTypes.tsx +28 -28
- package/src/components/SideNav/index.ts +1 -1
- package/src/components/SideNav/searchUtils.ts +16 -16
- package/src/components/common/Loader.tsx +7 -7
- package/src/components/common/common.tsx +13 -13
- package/src/components/common/index.ts +2 -2
- package/src/components/index.ts +22 -22
- package/src/custom.d.ts +2 -2
- package/src/index.ts +5 -5
- package/src/routes/AppRouter.tsx +11 -11
- package/src/routes/index.ts +1 -1
- package/src/scenes/DiffScene/DiffScene.tsx +54 -54
- package/src/scenes/DiffScene/DocDiff/DiffBanner.tsx +8 -8
- package/src/scenes/DiffScene/DocDiff/DiffItem.spec.tsx +26 -26
- package/src/scenes/DiffScene/DocDiff/DiffItem.tsx +47 -47
- package/src/scenes/DiffScene/DocDiff/DiffLegend.tsx +10 -10
- package/src/scenes/DiffScene/DocDiff/DocDiff.spec.tsx +62 -66
- package/src/scenes/DiffScene/DocDiff/DocDiff.tsx +18 -18
- package/src/scenes/DiffScene/DocDiff/docDiffUtils.tsx +23 -23
- package/src/scenes/DiffScene/DocDiff/index.ts +1 -1
- package/src/scenes/DiffScene/diffUtils.spec.ts +11 -11
- package/src/scenes/DiffScene/diffUtils.ts +26 -26
- package/src/scenes/DiffScene/index.ts +1 -1
- package/src/scenes/ErrorDetailScene/ErrorDetailScene.tsx +25 -25
- package/src/scenes/ErrorDetailScene/index.ts +1 -1
- package/src/scenes/HomeScene/HomeScene.tsx +12 -12
- package/src/scenes/HomeScene/index.ts +1 -1
- package/src/scenes/MethodScene/MethodScene.tsx +54 -54
- package/src/scenes/MethodScene/components/DocOperation.spec.tsx +17 -17
- package/src/scenes/MethodScene/components/DocOperation.tsx +8 -8
- package/src/scenes/MethodScene/components/DocRequestBody.spec.tsx +14 -14
- package/src/scenes/MethodScene/components/DocRequestBody.tsx +12 -12
- package/src/scenes/MethodScene/components/DocResponses/DocResponseTypes.tsx +15 -15
- package/src/scenes/MethodScene/components/DocResponses/DocResponses.spec.tsx +51 -51
- package/src/scenes/MethodScene/components/DocResponses/DocResponses.tsx +34 -34
- package/src/scenes/MethodScene/components/DocResponses/index.ts +1 -1
- package/src/scenes/MethodScene/components/DocResponses/utils.spec.ts +19 -14
- package/src/scenes/MethodScene/components/DocResponses/utils.ts +8 -8
- package/src/scenes/MethodScene/components/index.ts +3 -3
- package/src/scenes/MethodScene/index.ts +1 -1
- package/src/scenes/MethodTagScene/MethodTagScene.spec.tsx +31 -31
- package/src/scenes/MethodTagScene/MethodTagScene.tsx +44 -39
- package/src/scenes/MethodTagScene/index.ts +1 -1
- package/src/scenes/MethodTagScene/utils.spec.ts +6 -6
- package/src/scenes/MethodTagScene/utils.ts +6 -6
- package/src/scenes/TypeScene/TypeScene.tsx +25 -25
- package/src/scenes/TypeScene/index.ts +1 -1
- package/src/scenes/TypeTagScene/TypeTagScene.spec.tsx +34 -32
- package/src/scenes/TypeTagScene/TypeTagScene.tsx +40 -38
- package/src/scenes/TypeTagScene/index.ts +1 -1
- package/src/scenes/TypeTagScene/utils.spec.ts +6 -6
- package/src/scenes/TypeTagScene/utils.ts +6 -6
- package/src/scenes/index.ts +6 -6
- package/src/scenes/utils/hooks/index.ts +1 -1
- package/src/scenes/utils/hooks/tagStoreSync.spec.ts +37 -37
- package/src/scenes/utils/hooks/tagStoreSync.ts +18 -18
- package/src/scenes/utils/index.ts +1 -1
- package/src/state/index.ts +4 -4
- package/src/state/lodes/index.ts +2 -2
- package/src/state/lodes/sagas.spec.ts +32 -32
- package/src/state/lodes/sagas.ts +11 -11
- package/src/state/lodes/selectors.spec.ts +10 -10
- package/src/state/lodes/selectors.ts +4 -4
- package/src/state/lodes/slice.ts +18 -18
- package/src/state/settings/index.ts +2 -2
- package/src/state/settings/sagas.spec.ts +49 -49
- package/src/state/settings/sagas.ts +18 -18
- package/src/state/settings/selectors.spec.ts +11 -11
- package/src/state/settings/selectors.ts +7 -7
- package/src/state/settings/slice.ts +28 -28
- package/src/state/specs/index.ts +2 -2
- package/src/state/specs/sagas.spec.ts +60 -60
- package/src/state/specs/sagas.ts +27 -27
- package/src/state/specs/selectors.ts +7 -7
- package/src/state/specs/slice.ts +36 -36
- package/src/state/store.ts +24 -24
- package/src/test-data/declarations.ts +2 -2
- package/src/test-data/examples.ts +1 -1
- package/src/test-data/index.ts +4 -4
- package/src/test-data/sdkLanguages.ts +2 -2
- package/src/test-data/specs.ts +13 -13
- package/src/test-utils/index.ts +3 -3
- package/src/test-utils/lodes.tsx +9 -9
- package/src/test-utils/redux.tsx +30 -26
- package/src/test-utils/router.tsx +8 -8
- package/src/utils/adaptorUtils.ts +55 -55
- package/src/utils/apixAdaptor.ts +31 -25
- package/src/utils/highlight.spec.tsx +13 -13
- package/src/utils/highlight.tsx +11 -11
- package/src/utils/hooks/globalStoreSync.spec.tsx +54 -54
- package/src/utils/hooks/globalStoreSync.ts +21 -21
- package/src/utils/hooks/index.ts +3 -3
- package/src/utils/hooks/navigation.spec.ts +47 -45
- package/src/utils/hooks/navigation.ts +33 -30
- package/src/utils/hooks/useQuery.ts +5 -5
- package/src/utils/index.ts +8 -8
- package/src/utils/lodeUtils.ts +17 -17
- package/src/utils/path.spec.ts +57 -55
- package/src/utils/path.ts +42 -42
- package/src/utils/sdkLanguage.spec.ts +24 -24
- package/src/utils/sdkLanguage.ts +15 -14
- package/src/utils/useWindowSize.tsx +8 -8
- package/webpack.dev.config.js +5 -5
- package/webpack.prod.config.js +5 -5
|
@@ -24,63 +24,63 @@
|
|
|
24
24
|
|
|
25
25
|
*/
|
|
26
26
|
|
|
27
|
-
import React from 'react'
|
|
28
|
-
import { FieldString, IdeFileManifest } from '@looker/icons'
|
|
29
|
-
import { CalendarToday } from '@styled-icons/material/CalendarToday'
|
|
30
|
-
import { Code } from '@styled-icons/material/Code'
|
|
31
|
-
import { Tag } from '@styled-icons/material-rounded/Tag'
|
|
32
|
-
import { api40 as api } from '../../test-data'
|
|
33
|
-
import { expandable, pickType, pickTypeProps, typeIcon } from './exploreUtils'
|
|
27
|
+
import React from 'react';
|
|
28
|
+
import { FieldString, IdeFileManifest } from '@looker/icons';
|
|
29
|
+
import { CalendarToday } from '@styled-icons/material/CalendarToday';
|
|
30
|
+
import { Code } from '@styled-icons/material/Code';
|
|
31
|
+
import { Tag } from '@styled-icons/material-rounded/Tag';
|
|
32
|
+
import { api40 as api } from '../../test-data';
|
|
33
|
+
import { expandable, pickType, pickTypeProps, typeIcon } from './exploreUtils';
|
|
34
34
|
|
|
35
35
|
describe('exploreUtils', () => {
|
|
36
36
|
test('pickType', () => {
|
|
37
|
-
const method = api.methods.connection_tables
|
|
38
|
-
const responseType = method.primaryResponse.type
|
|
39
|
-
const type = pickType(responseType)
|
|
40
|
-
expect(type).toBeDefined()
|
|
41
|
-
expect(type.fullName).toEqual('SchemaTables')
|
|
42
|
-
const props = pickTypeProps(responseType)
|
|
43
|
-
expect(props).toBeDefined()
|
|
44
|
-
const names = Object.keys(props)
|
|
45
|
-
expect(names).toEqual(['name', 'is_default', 'tables', 'table_limit_hit'])
|
|
46
|
-
})
|
|
37
|
+
const method = api.methods.connection_tables;
|
|
38
|
+
const responseType = method.primaryResponse.type;
|
|
39
|
+
const type = pickType(responseType);
|
|
40
|
+
expect(type).toBeDefined();
|
|
41
|
+
expect(type.fullName).toEqual('SchemaTables');
|
|
42
|
+
const props = pickTypeProps(responseType);
|
|
43
|
+
expect(props).toBeDefined();
|
|
44
|
+
const names = Object.keys(props);
|
|
45
|
+
expect(names).toEqual(['name', 'is_default', 'tables', 'table_limit_hit']);
|
|
46
|
+
});
|
|
47
47
|
|
|
48
48
|
test('iconType', () => {
|
|
49
|
-
const type = api.types.BoardSection
|
|
50
|
-
const actual = typeIcon(type)
|
|
51
|
-
expect(actual).toEqual({ icon: <Code />, title: 'BoardSection' })
|
|
52
|
-
const props = type.properties
|
|
49
|
+
const type = api.types.BoardSection;
|
|
50
|
+
const actual = typeIcon(type);
|
|
51
|
+
expect(actual).toEqual({ icon: <Code />, title: 'BoardSection' });
|
|
52
|
+
const props = type.properties;
|
|
53
53
|
expect(typeIcon(props.can.type)).toEqual({
|
|
54
54
|
icon: <IdeFileManifest />,
|
|
55
55
|
title: 'Hash[boolean]',
|
|
56
|
-
})
|
|
56
|
+
});
|
|
57
57
|
expect(typeIcon(props.created_at.type)).toEqual({
|
|
58
58
|
icon: <CalendarToday />,
|
|
59
59
|
title: 'datetime',
|
|
60
|
-
})
|
|
60
|
+
});
|
|
61
61
|
expect(typeIcon(props.description.type)).toEqual({
|
|
62
62
|
icon: <FieldString />,
|
|
63
63
|
title: 'string',
|
|
64
|
-
})
|
|
65
|
-
const intProp = api.types.ColorStop.properties.offset
|
|
64
|
+
});
|
|
65
|
+
const intProp = api.types.ColorStop.properties.offset;
|
|
66
66
|
expect(typeIcon(intProp.type)).toEqual({
|
|
67
67
|
icon: <Tag />,
|
|
68
68
|
title: 'int64',
|
|
69
|
-
})
|
|
70
|
-
})
|
|
69
|
+
});
|
|
70
|
+
});
|
|
71
71
|
|
|
72
72
|
describe('expandable', () => {
|
|
73
73
|
test('maxDepth -1 is always expandable', () => {
|
|
74
|
-
expect(expandable(20, -1)).toEqual(true)
|
|
75
|
-
})
|
|
74
|
+
expect(expandable(20, -1)).toEqual(true);
|
|
75
|
+
});
|
|
76
76
|
test('maxDepth 0 is never expandable', () => {
|
|
77
|
-
expect(expandable(1, 0)).toEqual(false)
|
|
78
|
-
})
|
|
77
|
+
expect(expandable(1, 0)).toEqual(false);
|
|
78
|
+
});
|
|
79
79
|
test('maxDepth 2 is expandable 2 levels deep', () => {
|
|
80
|
-
expect(expandable(0, 2)).toEqual(true)
|
|
81
|
-
expect(expandable(1, 2)).toEqual(true)
|
|
82
|
-
expect(expandable(2, 2)).toEqual(true)
|
|
83
|
-
expect(expandable(3, 2)).toEqual(false)
|
|
84
|
-
})
|
|
85
|
-
})
|
|
86
|
-
})
|
|
80
|
+
expect(expandable(0, 2)).toEqual(true);
|
|
81
|
+
expect(expandable(1, 2)).toEqual(true);
|
|
82
|
+
expect(expandable(2, 2)).toEqual(true);
|
|
83
|
+
expect(expandable(3, 2)).toEqual(false);
|
|
84
|
+
});
|
|
85
|
+
});
|
|
86
|
+
});
|
|
@@ -24,34 +24,34 @@
|
|
|
24
24
|
|
|
25
25
|
*/
|
|
26
26
|
|
|
27
|
-
import React from 'react'
|
|
28
|
-
import type { IconType } from '@looker/components'
|
|
29
|
-
import { FieldString, IdeFileManifest, IdeParameter } from '@looker/icons'
|
|
30
|
-
import { CalendarToday } from '@styled-icons/material/CalendarToday'
|
|
31
|
-
import { Check } from '@styled-icons/material/Check'
|
|
32
|
-
import { Code } from '@styled-icons/material/Code'
|
|
33
|
-
import { Link } from '@styled-icons/material/Link'
|
|
34
|
-
import { Toc } from '@styled-icons/material/Toc'
|
|
35
|
-
import { VpnKey } from '@styled-icons/material/VpnKey'
|
|
36
|
-
import { Tag } from '@styled-icons/material-rounded'
|
|
37
|
-
import { Email } from '@styled-icons/material-outlined'
|
|
38
|
-
import type { IType } from '@looker/sdk-codegen'
|
|
39
|
-
import { TypeOfType, typeOfType } from '@looker/sdk-codegen'
|
|
27
|
+
import React from 'react';
|
|
28
|
+
import type { IconType } from '@looker/components';
|
|
29
|
+
import { FieldString, IdeFileManifest, IdeParameter } from '@looker/icons';
|
|
30
|
+
import { CalendarToday } from '@styled-icons/material/CalendarToday';
|
|
31
|
+
import { Check } from '@styled-icons/material/Check';
|
|
32
|
+
import { Code } from '@styled-icons/material/Code';
|
|
33
|
+
import { Link } from '@styled-icons/material/Link';
|
|
34
|
+
import { Toc } from '@styled-icons/material/Toc';
|
|
35
|
+
import { VpnKey } from '@styled-icons/material/VpnKey';
|
|
36
|
+
import { Tag } from '@styled-icons/material-rounded';
|
|
37
|
+
import { Email } from '@styled-icons/material-outlined';
|
|
38
|
+
import type { IType } from '@looker/sdk-codegen';
|
|
39
|
+
import { TypeOfType, typeOfType } from '@looker/sdk-codegen';
|
|
40
40
|
|
|
41
41
|
/**
|
|
42
42
|
* Get the type or element type if this type is a collection
|
|
43
43
|
* @param value type to pick
|
|
44
44
|
*/
|
|
45
45
|
export const pickType = (value: IType) => {
|
|
46
|
-
const typed = typeOfType(value)
|
|
46
|
+
const typed = typeOfType(value);
|
|
47
47
|
switch (typed) {
|
|
48
48
|
case TypeOfType.Intrinsic:
|
|
49
49
|
case TypeOfType.Complex:
|
|
50
|
-
return value
|
|
50
|
+
return value;
|
|
51
51
|
default:
|
|
52
|
-
return value.elementType
|
|
52
|
+
return value.elementType!;
|
|
53
53
|
}
|
|
54
|
-
}
|
|
54
|
+
};
|
|
55
55
|
|
|
56
56
|
/**
|
|
57
57
|
* Is this an expandable node?
|
|
@@ -59,48 +59,48 @@ export const pickType = (value: IType) => {
|
|
|
59
59
|
* @param maxDepth is the maximum depth to expanded nested types. -1 = all (default), 0 = no expansion
|
|
60
60
|
*/
|
|
61
61
|
export const expandable = (level: number, maxDepth = -1) =>
|
|
62
|
-
maxDepth === -1 || level <= maxDepth
|
|
62
|
+
maxDepth === -1 || level <= maxDepth;
|
|
63
63
|
|
|
64
64
|
/**
|
|
65
65
|
* Gets the properties for the "exploring" type
|
|
66
66
|
* @param value type to pick
|
|
67
67
|
*/
|
|
68
|
-
export const pickTypeProps = (value: IType) => pickType(value).properties
|
|
68
|
+
export const pickTypeProps = (value: IType) => pickType(value).properties;
|
|
69
69
|
|
|
70
70
|
/**
|
|
71
71
|
* Get the link prefix for the type
|
|
72
72
|
* @param value type to link to
|
|
73
73
|
*/
|
|
74
74
|
export const typeLinkPrefix = (value: IType) => {
|
|
75
|
-
const typed = typeOfType(value)
|
|
75
|
+
const typed = typeOfType(value);
|
|
76
76
|
switch (typed) {
|
|
77
77
|
case TypeOfType.Hash:
|
|
78
|
-
return 'Hash['
|
|
78
|
+
return 'Hash[';
|
|
79
79
|
default:
|
|
80
|
-
return ''
|
|
80
|
+
return '';
|
|
81
81
|
}
|
|
82
|
-
}
|
|
82
|
+
};
|
|
83
83
|
|
|
84
84
|
/**
|
|
85
85
|
* Get the link suffix for the type
|
|
86
86
|
* @param value type to link to
|
|
87
87
|
*/
|
|
88
88
|
export const typeLinkSuffix = (value: IType) => {
|
|
89
|
-
const typed = typeOfType(value)
|
|
89
|
+
const typed = typeOfType(value);
|
|
90
90
|
switch (typed) {
|
|
91
91
|
case TypeOfType.Array:
|
|
92
92
|
case TypeOfType.DelimArray:
|
|
93
|
-
return '[]'
|
|
93
|
+
return '[]';
|
|
94
94
|
case TypeOfType.Hash:
|
|
95
|
-
return ']'
|
|
95
|
+
return ']';
|
|
96
96
|
default:
|
|
97
|
-
return ''
|
|
97
|
+
return '';
|
|
98
98
|
}
|
|
99
|
-
}
|
|
99
|
+
};
|
|
100
100
|
|
|
101
101
|
interface TypedIcon {
|
|
102
|
-
icon: IconType
|
|
103
|
-
title: string
|
|
102
|
+
icon: IconType;
|
|
103
|
+
title: string;
|
|
104
104
|
}
|
|
105
105
|
|
|
106
106
|
/**
|
|
@@ -110,39 +110,39 @@ interface TypedIcon {
|
|
|
110
110
|
export const typeIcon = (value: IType): TypedIcon => {
|
|
111
111
|
switch (value.className) {
|
|
112
112
|
case 'ArrayType':
|
|
113
|
-
return { icon: <Toc />, title: value.jsonName }
|
|
113
|
+
return { icon: <Toc />, title: value.jsonName };
|
|
114
114
|
case 'DelimArrayType':
|
|
115
|
-
return { icon: <Toc />, title: value.jsonName }
|
|
115
|
+
return { icon: <Toc />, title: value.jsonName };
|
|
116
116
|
case 'HashType':
|
|
117
|
-
return { icon: <IdeFileManifest />, title: value.jsonName }
|
|
117
|
+
return { icon: <IdeFileManifest />, title: value.jsonName };
|
|
118
118
|
case 'EnumType':
|
|
119
|
-
return { icon: <IdeParameter />, title: value.jsonName }
|
|
119
|
+
return { icon: <IdeParameter />, title: value.jsonName };
|
|
120
120
|
}
|
|
121
121
|
|
|
122
|
-
const type = pickType(value)
|
|
122
|
+
const type = pickType(value);
|
|
123
123
|
switch (type.jsonName) {
|
|
124
124
|
case 'boolean':
|
|
125
|
-
return { icon: <Check />, title: type.jsonName }
|
|
125
|
+
return { icon: <Check />, title: type.jsonName };
|
|
126
126
|
case 'int64':
|
|
127
127
|
case 'integer':
|
|
128
128
|
case 'float':
|
|
129
129
|
case 'double':
|
|
130
|
-
return { icon: <Tag />, title: type.jsonName }
|
|
130
|
+
return { icon: <Tag />, title: type.jsonName };
|
|
131
131
|
case 'string':
|
|
132
132
|
case 'hostname':
|
|
133
133
|
case 'uuid':
|
|
134
134
|
case 'ipv4':
|
|
135
135
|
case 'ipv6':
|
|
136
|
-
return { icon: <FieldString />, title: type.jsonName }
|
|
136
|
+
return { icon: <FieldString />, title: type.jsonName };
|
|
137
137
|
case 'email':
|
|
138
|
-
return { icon: <Email />, title: type.jsonName }
|
|
138
|
+
return { icon: <Email />, title: type.jsonName };
|
|
139
139
|
case 'password':
|
|
140
|
-
return { icon: <VpnKey />, title: type.jsonName }
|
|
140
|
+
return { icon: <VpnKey />, title: type.jsonName };
|
|
141
141
|
case 'uri':
|
|
142
|
-
return { icon: <Link />, title: type.jsonName }
|
|
142
|
+
return { icon: <Link />, title: type.jsonName };
|
|
143
143
|
case 'datetime':
|
|
144
|
-
return { icon: <CalendarToday />, title: type.jsonName }
|
|
144
|
+
return { icon: <CalendarToday />, title: type.jsonName };
|
|
145
145
|
default:
|
|
146
|
-
return { icon: <Code />, title: type.jsonName }
|
|
146
|
+
return { icon: <Code />, title: type.jsonName };
|
|
147
147
|
}
|
|
148
|
-
}
|
|
148
|
+
};
|
|
@@ -24,13 +24,13 @@
|
|
|
24
24
|
|
|
25
25
|
*/
|
|
26
26
|
|
|
27
|
-
export { ExploreType, ExploreTypeLink } from './ExploreType'
|
|
27
|
+
export { ExploreType, ExploreTypeLink } from './ExploreType';
|
|
28
28
|
export {
|
|
29
29
|
ExploreProperty,
|
|
30
30
|
ExplorePropertyNode,
|
|
31
31
|
ExplorePropertyDetail,
|
|
32
32
|
ExplorePropertyType,
|
|
33
|
-
} from './ExploreProperty'
|
|
33
|
+
} from './ExploreProperty';
|
|
34
34
|
export {
|
|
35
35
|
typeIcon,
|
|
36
36
|
pickTypeProps,
|
|
@@ -38,4 +38,4 @@ export {
|
|
|
38
38
|
typeLinkSuffix,
|
|
39
39
|
pickType,
|
|
40
40
|
expandable,
|
|
41
|
-
} from './exploreUtils'
|
|
41
|
+
} from './exploreUtils';
|
|
@@ -23,76 +23,70 @@
|
|
|
23
23
|
SOFTWARE.
|
|
24
24
|
|
|
25
25
|
*/
|
|
26
|
-
import React from 'react'
|
|
27
|
-
import {
|
|
28
|
-
import { codeGenerators } from '@looker/sdk-codegen'
|
|
29
|
-
import userEvent from '@testing-library/user-event'
|
|
26
|
+
import React from 'react';
|
|
27
|
+
import { screen, waitFor } from '@testing-library/react';
|
|
28
|
+
import { codeGenerators } from '@looker/sdk-codegen';
|
|
29
|
+
import userEvent from '@testing-library/user-event';
|
|
30
30
|
|
|
31
|
-
import { getLoadedSpecs, specs } from '../../test-data'
|
|
32
|
-
import { renderWithRouterAndReduxProvider } from '../../test-utils'
|
|
33
|
-
import { defaultSettingsState } from '../../state'
|
|
34
|
-
import { Header } from './Header'
|
|
31
|
+
import { getLoadedSpecs, specs } from '../../test-data';
|
|
32
|
+
import { renderWithRouterAndReduxProvider } from '../../test-utils';
|
|
33
|
+
import { defaultSettingsState } from '../../state';
|
|
34
|
+
import { Header } from './Header';
|
|
35
35
|
|
|
36
36
|
describe('Header', () => {
|
|
37
|
-
const hasNavigation = true
|
|
38
|
-
const toggleNavigation = () => !hasNavigation
|
|
39
|
-
const spec = getLoadedSpecs()['4.0']
|
|
37
|
+
const hasNavigation = true;
|
|
38
|
+
const toggleNavigation = () => !hasNavigation;
|
|
39
|
+
const spec = getLoadedSpecs()['4.0'];
|
|
40
40
|
beforeAll(() => {
|
|
41
|
-
window.HTMLElement.prototype.scrollIntoView = jest.fn()
|
|
42
|
-
})
|
|
41
|
+
window.HTMLElement.prototype.scrollIntoView = jest.fn();
|
|
42
|
+
});
|
|
43
43
|
|
|
44
44
|
test('it renders a title', () => {
|
|
45
45
|
renderWithRouterAndReduxProvider(
|
|
46
46
|
<Header spec={spec} toggleNavigation={toggleNavigation} />
|
|
47
|
-
)
|
|
47
|
+
);
|
|
48
48
|
expect(screen.getByText('API Explorer').closest('a')).toHaveAttribute(
|
|
49
49
|
'href',
|
|
50
50
|
`/${spec.key}`
|
|
51
|
-
)
|
|
52
|
-
})
|
|
51
|
+
);
|
|
52
|
+
});
|
|
53
53
|
|
|
54
54
|
test('it renders a spec selector with the correct default value and options', async () => {
|
|
55
55
|
renderWithRouterAndReduxProvider(
|
|
56
56
|
<Header spec={spec} toggleNavigation={toggleNavigation} />
|
|
57
|
-
)
|
|
58
|
-
const selector = screen.getByLabelText('spec selector')
|
|
59
|
-
expect(selector).toHaveValue(`${spec.key}`)
|
|
60
|
-
await
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
})
|
|
68
|
-
})
|
|
57
|
+
);
|
|
58
|
+
const selector = screen.getByLabelText('spec selector');
|
|
59
|
+
expect(selector).toHaveValue(`${spec.key}`);
|
|
60
|
+
await userEvent.click(selector);
|
|
61
|
+
await waitFor(() => {
|
|
62
|
+
expect(screen.getAllByRole('option')).toHaveLength(
|
|
63
|
+
Object.keys(specs).length
|
|
64
|
+
);
|
|
65
|
+
});
|
|
66
|
+
});
|
|
69
67
|
|
|
70
68
|
test('it renders an sdk language selector with the correct value and options', async () => {
|
|
71
69
|
renderWithRouterAndReduxProvider(
|
|
72
70
|
<Header spec={spec} toggleNavigation={toggleNavigation} />
|
|
73
|
-
)
|
|
74
|
-
const selector = screen.getByLabelText('sdk language selector')
|
|
75
|
-
expect(selector).toHaveValue(defaultSettingsState.sdkLanguage)
|
|
76
|
-
await
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
)
|
|
82
|
-
})
|
|
83
|
-
})
|
|
84
|
-
})
|
|
71
|
+
);
|
|
72
|
+
const selector = screen.getByLabelText('sdk language selector');
|
|
73
|
+
expect(selector).toHaveValue(defaultSettingsState.sdkLanguage);
|
|
74
|
+
await userEvent.click(selector);
|
|
75
|
+
expect(screen.getAllByRole('option')).toHaveLength(
|
|
76
|
+
codeGenerators.length + 1
|
|
77
|
+
);
|
|
78
|
+
});
|
|
85
79
|
|
|
86
80
|
test('it renders an icon button for the differ', () => {
|
|
87
81
|
renderWithRouterAndReduxProvider(
|
|
88
82
|
<Header spec={spec} toggleNavigation={toggleNavigation} />
|
|
89
|
-
)
|
|
83
|
+
);
|
|
90
84
|
expect(
|
|
91
85
|
screen
|
|
92
86
|
.getByRole('button', {
|
|
93
87
|
name: 'Compare Specifications',
|
|
94
88
|
})
|
|
95
89
|
.closest('a')
|
|
96
|
-
).toHaveAttribute('href', `/${spec.key}/diff`)
|
|
97
|
-
})
|
|
98
|
-
})
|
|
90
|
+
).toHaveAttribute('href', `/${spec.key}/diff`);
|
|
91
|
+
});
|
|
92
|
+
});
|
|
@@ -24,34 +24,34 @@
|
|
|
24
24
|
|
|
25
25
|
*/
|
|
26
26
|
|
|
27
|
-
import type { FC } from 'react'
|
|
28
|
-
import React from 'react'
|
|
29
|
-
import styled from 'styled-components'
|
|
27
|
+
import type { FC } from 'react';
|
|
28
|
+
import React from 'react';
|
|
29
|
+
import styled from 'styled-components';
|
|
30
30
|
import {
|
|
31
|
+
Heading,
|
|
31
32
|
Icon,
|
|
32
|
-
Space,
|
|
33
33
|
IconButton,
|
|
34
|
-
Heading,
|
|
35
34
|
Header as SemanticHeader,
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
import {
|
|
39
|
-
import
|
|
35
|
+
Space,
|
|
36
|
+
} from '@looker/components';
|
|
37
|
+
import { LookerLogo } from '@looker/icons';
|
|
38
|
+
import { Menu } from '@styled-icons/material/Menu';
|
|
39
|
+
import type { SpecItem } from '@looker/sdk-codegen';
|
|
40
40
|
|
|
41
|
-
import { Link } from '../Link'
|
|
42
|
-
import { SelectorContainer } from '../SelectorContainer'
|
|
41
|
+
import { Link } from '../Link';
|
|
42
|
+
import { SelectorContainer } from '../SelectorContainer';
|
|
43
43
|
|
|
44
44
|
interface HeaderProps {
|
|
45
45
|
/** Current selected spec */
|
|
46
|
-
spec: SpecItem
|
|
46
|
+
spec: SpecItem;
|
|
47
47
|
/** Nav state setter */
|
|
48
|
-
toggleNavigation: (target?: boolean) => void
|
|
49
|
-
className?: string
|
|
48
|
+
toggleNavigation: (target?: boolean) => void;
|
|
49
|
+
className?: string;
|
|
50
50
|
}
|
|
51
51
|
|
|
52
|
-
export const HEADER_REM = 4
|
|
52
|
+
export const HEADER_REM = 4;
|
|
53
53
|
|
|
54
|
-
export const HEADER_TOGGLE_LABEL = 'Toggle Navigation'
|
|
54
|
+
export const HEADER_TOGGLE_LABEL = 'Toggle Navigation';
|
|
55
55
|
|
|
56
56
|
/**
|
|
57
57
|
* Renders the API Explorer header
|
|
@@ -90,8 +90,8 @@ export const HeaderLayout: FC<HeaderProps> = ({
|
|
|
90
90
|
</Space>
|
|
91
91
|
<SelectorContainer spec={spec} />
|
|
92
92
|
</SemanticHeader>
|
|
93
|
-
)
|
|
93
|
+
);
|
|
94
94
|
|
|
95
95
|
export const Header = styled(HeaderLayout)`
|
|
96
96
|
border-bottom: 1px solid ${({ theme }) => theme.colors.ui2};
|
|
97
|
-
|
|
97
|
+
`;
|
|
@@ -24,8 +24,8 @@
|
|
|
24
24
|
|
|
25
25
|
*/
|
|
26
26
|
|
|
27
|
-
import { NavLink } from 'react-router-dom'
|
|
28
|
-
import styled from 'styled-components'
|
|
27
|
+
import { NavLink } from 'react-router-dom';
|
|
28
|
+
import styled from 'styled-components';
|
|
29
29
|
|
|
30
30
|
export const Link = styled(NavLink)`
|
|
31
31
|
text-decoration: none;
|
|
@@ -37,4 +37,4 @@ export const Link = styled(NavLink)`
|
|
|
37
37
|
&.active {
|
|
38
38
|
color: inherit;
|
|
39
39
|
}
|
|
40
|
-
|
|
40
|
+
`;
|
|
@@ -23,19 +23,19 @@
|
|
|
23
23
|
SOFTWARE.
|
|
24
24
|
|
|
25
25
|
*/
|
|
26
|
-
import React from 'react'
|
|
27
|
-
import { screen, waitFor } from '@testing-library/react'
|
|
28
|
-
import userEvent from '@testing-library/user-event'
|
|
29
|
-
import { useHistory } from 'react-router-dom'
|
|
30
|
-
import { getLoadedSpecs, specs } from '../../test-data'
|
|
26
|
+
import React from 'react';
|
|
27
|
+
import { screen, waitFor } from '@testing-library/react';
|
|
28
|
+
import userEvent from '@testing-library/user-event';
|
|
29
|
+
import { useHistory } from 'react-router-dom';
|
|
30
|
+
import { getLoadedSpecs, specs } from '../../test-data';
|
|
31
31
|
import {
|
|
32
32
|
renderWithReduxProvider,
|
|
33
33
|
renderWithRouterAndReduxProvider,
|
|
34
|
-
} from '../../test-utils'
|
|
35
|
-
import { ApiSpecSelector } from './ApiSpecSelector'
|
|
34
|
+
} from '../../test-utils';
|
|
35
|
+
import { ApiSpecSelector } from './ApiSpecSelector';
|
|
36
36
|
|
|
37
37
|
jest.mock('react-router-dom', () => {
|
|
38
|
-
const ReactRouterDOM = jest.requireActual('react-router-dom')
|
|
38
|
+
const ReactRouterDOM = jest.requireActual('react-router-dom');
|
|
39
39
|
return {
|
|
40
40
|
...ReactRouterDOM,
|
|
41
41
|
useLocation: () => ({
|
|
@@ -44,8 +44,8 @@ jest.mock('react-router-dom', () => {
|
|
|
44
44
|
useHistory: jest
|
|
45
45
|
.fn()
|
|
46
46
|
.mockReturnValue({ push: jest.fn(), location: globalThis.location }),
|
|
47
|
-
}
|
|
48
|
-
})
|
|
47
|
+
};
|
|
48
|
+
});
|
|
49
49
|
|
|
50
50
|
// jest.mock('../../state/specs', () => ({
|
|
51
51
|
// ...(jest.requireActual('../../state/specs') as Record<string, unknown>),
|
|
@@ -55,39 +55,39 @@ jest.mock('react-router-dom', () => {
|
|
|
55
55
|
// }))
|
|
56
56
|
|
|
57
57
|
describe('ApiSpecSelector', () => {
|
|
58
|
-
Element.prototype.scrollIntoView = jest.fn()
|
|
59
|
-
const spec = getLoadedSpecs()['4.0']
|
|
58
|
+
Element.prototype.scrollIntoView = jest.fn();
|
|
59
|
+
const spec = getLoadedSpecs()['4.0'];
|
|
60
60
|
|
|
61
61
|
test('the base spec is selected by default', () => {
|
|
62
|
-
renderWithReduxProvider(<ApiSpecSelector spec={spec} />)
|
|
63
|
-
const selector = screen.getByRole('textbox')
|
|
64
|
-
expect(selector).toHaveValue(`${spec.key}`)
|
|
65
|
-
})
|
|
62
|
+
renderWithReduxProvider(<ApiSpecSelector spec={spec} />);
|
|
63
|
+
const selector = screen.getByRole('textbox');
|
|
64
|
+
expect(selector).toHaveValue(`${spec.key}`);
|
|
65
|
+
});
|
|
66
66
|
|
|
67
67
|
test('it lists all available specs', async () => {
|
|
68
|
-
renderWithReduxProvider(<ApiSpecSelector spec={spec} />)
|
|
69
|
-
userEvent.click(screen.getByRole('textbox'))
|
|
68
|
+
renderWithReduxProvider(<ApiSpecSelector spec={spec} />);
|
|
69
|
+
userEvent.click(screen.getByRole('textbox'));
|
|
70
70
|
await waitFor(() => {
|
|
71
71
|
expect(screen.getAllByRole('option')).toHaveLength(
|
|
72
72
|
Object.keys(specs).length
|
|
73
|
-
)
|
|
74
|
-
})
|
|
75
|
-
})
|
|
73
|
+
);
|
|
74
|
+
});
|
|
75
|
+
});
|
|
76
76
|
|
|
77
77
|
test.skip('requests selected spec', async () => {
|
|
78
|
-
const { push } = useHistory()
|
|
79
|
-
renderWithRouterAndReduxProvider(<ApiSpecSelector spec={spec} />)
|
|
80
|
-
userEvent.click(screen.getByRole('textbox'))
|
|
78
|
+
const { push } = useHistory();
|
|
79
|
+
renderWithRouterAndReduxProvider(<ApiSpecSelector spec={spec} />);
|
|
80
|
+
userEvent.click(screen.getByRole('textbox'));
|
|
81
81
|
await waitFor(() => {
|
|
82
82
|
expect(screen.getAllByRole('option')).toHaveLength(
|
|
83
83
|
Object.keys(specs).length
|
|
84
|
-
)
|
|
85
|
-
})
|
|
86
|
-
const button = screen.getByText('4.0')
|
|
87
|
-
userEvent.click(button)
|
|
84
|
+
);
|
|
85
|
+
});
|
|
86
|
+
const button = screen.getByText('4.0');
|
|
87
|
+
userEvent.click(button);
|
|
88
88
|
expect(push).toHaveBeenCalledWith({
|
|
89
89
|
pathname: '/4.0/methods/Dashboard/dashboard',
|
|
90
90
|
search: '',
|
|
91
|
-
})
|
|
92
|
-
})
|
|
93
|
-
})
|
|
91
|
+
});
|
|
92
|
+
});
|
|
93
|
+
});
|
|
@@ -24,34 +24,34 @@
|
|
|
24
24
|
|
|
25
25
|
*/
|
|
26
26
|
|
|
27
|
-
import type { FC } from 'react'
|
|
28
|
-
import React from 'react'
|
|
29
|
-
import { Select } from '@looker/components'
|
|
30
|
-
import { useLocation } from 'react-router-dom'
|
|
31
|
-
import type { SpecItem } from '@looker/sdk-codegen'
|
|
32
|
-
import { useSelector } from 'react-redux'
|
|
33
|
-
import { useNavigation } from '../../utils'
|
|
27
|
+
import type { FC } from 'react';
|
|
28
|
+
import React from 'react';
|
|
29
|
+
import { Select } from '@looker/components';
|
|
30
|
+
import { useLocation } from 'react-router-dom';
|
|
31
|
+
import type { SpecItem } from '@looker/sdk-codegen';
|
|
32
|
+
import { useSelector } from 'react-redux';
|
|
33
|
+
import { useNavigation } from '../../utils';
|
|
34
34
|
|
|
35
|
-
import { selectSpecs } from '../../state'
|
|
35
|
+
import { selectSpecs } from '../../state';
|
|
36
36
|
|
|
37
37
|
interface ApiSpecSelectorProps {
|
|
38
|
-
spec: SpecItem
|
|
38
|
+
spec: SpecItem;
|
|
39
39
|
}
|
|
40
40
|
|
|
41
41
|
export const ApiSpecSelector: FC<ApiSpecSelectorProps> = ({ spec }) => {
|
|
42
|
-
const location = useLocation()
|
|
43
|
-
const { navigate } = useNavigation()
|
|
44
|
-
const specs = useSelector(selectSpecs)
|
|
42
|
+
const location = useLocation();
|
|
43
|
+
const { navigate } = useNavigation();
|
|
44
|
+
const specs = useSelector(selectSpecs);
|
|
45
45
|
const options = Object.entries(specs).map(([key, spec]) => ({
|
|
46
46
|
value: key,
|
|
47
47
|
label: key,
|
|
48
48
|
description: spec.status,
|
|
49
|
-
}))
|
|
49
|
+
}));
|
|
50
50
|
|
|
51
51
|
const handleChange = (specKey: string) => {
|
|
52
|
-
const matchPath = location.pathname.replace(`/${spec.key}`, `/${specKey}`)
|
|
53
|
-
navigate(matchPath)
|
|
54
|
-
}
|
|
52
|
+
const matchPath = location.pathname.replace(`/${spec.key}`, `/${specKey}`);
|
|
53
|
+
navigate(matchPath);
|
|
54
|
+
};
|
|
55
55
|
|
|
56
56
|
return (
|
|
57
57
|
<Select
|
|
@@ -61,5 +61,5 @@ export const ApiSpecSelector: FC<ApiSpecSelectorProps> = ({ spec }) => {
|
|
|
61
61
|
options={options}
|
|
62
62
|
onChange={handleChange}
|
|
63
63
|
/>
|
|
64
|
-
)
|
|
65
|
-
}
|
|
64
|
+
);
|
|
65
|
+
};
|