@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,123 +24,124 @@
|
|
|
24
24
|
|
|
25
25
|
*/
|
|
26
26
|
|
|
27
|
-
import type { FC } from 'react'
|
|
28
|
-
import React, { useEffect, useState } from 'react'
|
|
29
|
-
import { useLocation } from 'react-router-dom'
|
|
27
|
+
import type { FC } from 'react';
|
|
28
|
+
import React, { useEffect, useState } from 'react';
|
|
29
|
+
import { useLocation } from 'react-router-dom';
|
|
30
30
|
import {
|
|
31
|
-
|
|
31
|
+
Box2,
|
|
32
|
+
InputSearch,
|
|
32
33
|
Tab,
|
|
34
|
+
TabList,
|
|
33
35
|
TabPanel,
|
|
34
36
|
TabPanels,
|
|
35
37
|
useTabs,
|
|
36
|
-
|
|
37
|
-
Box2,
|
|
38
|
-
} from '@looker/components'
|
|
38
|
+
} from '@looker/components';
|
|
39
39
|
import type {
|
|
40
|
-
SpecItem,
|
|
41
|
-
ISearchResult,
|
|
42
40
|
ApiModel,
|
|
41
|
+
ISearchResult,
|
|
42
|
+
SpecItem,
|
|
43
43
|
TagList,
|
|
44
44
|
TypeTagList,
|
|
45
|
-
} from '@looker/sdk-codegen'
|
|
46
|
-
import { criteriaToSet, tagTypes } from '@looker/sdk-codegen'
|
|
47
|
-
import { useSelector } from 'react-redux'
|
|
48
|
-
import { CopyLinkWrapper } from '@looker/run-it'
|
|
49
|
-
import {
|
|
50
|
-
import { HEADER_REM } from '../Header'
|
|
51
|
-
import { selectSearchCriteria, selectSearchPattern } from '../../state'
|
|
52
|
-
import { SideNavMethodTags } from './SideNavMethodTags'
|
|
53
|
-
import { SideNavTypeTags } from './SideNavTypeTags'
|
|
54
|
-
import {
|
|
55
|
-
import { SearchMessage } from './SearchMessage'
|
|
45
|
+
} from '@looker/sdk-codegen';
|
|
46
|
+
import { criteriaToSet, tagTypes } from '@looker/sdk-codegen';
|
|
47
|
+
import { useSelector } from 'react-redux';
|
|
48
|
+
import { CopyLinkWrapper } from '@looker/run-it';
|
|
49
|
+
import { useNavigation, useWindowSize } from '../../utils';
|
|
50
|
+
import { HEADER_REM } from '../Header';
|
|
51
|
+
import { selectSearchCriteria, selectSearchPattern } from '../../state';
|
|
52
|
+
import { SideNavMethodTags } from './SideNavMethodTags';
|
|
53
|
+
import { SideNavTypeTags } from './SideNavTypeTags';
|
|
54
|
+
import { countMethods, countTypes, useDebounce } from './searchUtils';
|
|
55
|
+
import { SearchMessage } from './SearchMessage';
|
|
56
56
|
|
|
57
57
|
interface SideNavState {
|
|
58
|
-
tags: TagList
|
|
59
|
-
typeTags: TypeTagList
|
|
60
|
-
methodCount: number
|
|
61
|
-
typeCount: number
|
|
62
|
-
searchResults?: ISearchResult
|
|
58
|
+
tags: TagList;
|
|
59
|
+
typeTags: TypeTagList;
|
|
60
|
+
methodCount: number;
|
|
61
|
+
typeCount: number;
|
|
62
|
+
searchResults?: ISearchResult;
|
|
63
63
|
}
|
|
64
64
|
|
|
65
65
|
interface SideNavProps {
|
|
66
|
-
headless?: boolean
|
|
66
|
+
headless?: boolean;
|
|
67
67
|
/** Current selected spec */
|
|
68
|
-
spec: SpecItem
|
|
68
|
+
spec: SpecItem;
|
|
69
69
|
}
|
|
70
70
|
|
|
71
71
|
export const SideNav: FC<SideNavProps> = ({ headless = false, spec }) => {
|
|
72
|
-
const location = useLocation()
|
|
73
|
-
const { navigate, navigateWithGlobalParams } = useNavigation()
|
|
74
|
-
const specKey = spec.key
|
|
75
|
-
const tabNames = ['methods', 'types']
|
|
76
|
-
const pathParts = location.pathname.split('/')
|
|
77
|
-
const sideNavTab = pathParts[1] === 'diff' ? pathParts[3] : pathParts[2]
|
|
78
|
-
let defaultIndex = tabNames.indexOf(sideNavTab)
|
|
72
|
+
const location = useLocation();
|
|
73
|
+
const { navigate, navigateWithGlobalParams } = useNavigation();
|
|
74
|
+
const specKey = spec.key;
|
|
75
|
+
const tabNames = ['methods', 'types'];
|
|
76
|
+
const pathParts = location.pathname.split('/');
|
|
77
|
+
const sideNavTab = pathParts[1] === 'diff' ? pathParts[3] : pathParts[2];
|
|
78
|
+
let defaultIndex = tabNames.indexOf(sideNavTab);
|
|
79
79
|
if (defaultIndex < 0) {
|
|
80
|
-
defaultIndex = tabNames.indexOf('methods')
|
|
80
|
+
defaultIndex = tabNames.indexOf('methods');
|
|
81
81
|
}
|
|
82
82
|
const onTabChange = (index: number) => {
|
|
83
|
-
const parts = location.pathname.split('/')
|
|
83
|
+
const parts = location.pathname.split('/');
|
|
84
84
|
if (parts[1] === 'diff') {
|
|
85
85
|
if (parts[3] !== tabNames[index]) {
|
|
86
|
-
parts[3] = tabNames[index]
|
|
87
|
-
navigateWithGlobalParams(parts.join('/'))
|
|
86
|
+
parts[3] = tabNames[index];
|
|
87
|
+
navigateWithGlobalParams(parts.join('/'));
|
|
88
88
|
}
|
|
89
89
|
} else {
|
|
90
90
|
if (parts[2] !== tabNames[index]) {
|
|
91
|
-
parts[2] = tabNames[index]
|
|
92
|
-
navigateWithGlobalParams(parts.join('/'))
|
|
91
|
+
parts[2] = tabNames[index];
|
|
92
|
+
navigateWithGlobalParams(parts.join('/'));
|
|
93
93
|
}
|
|
94
94
|
}
|
|
95
|
-
}
|
|
96
|
-
const tabs = useTabs({ defaultIndex, onChange: onTabChange })
|
|
97
|
-
const searchCriteria = useSelector(selectSearchCriteria)
|
|
98
|
-
const searchPattern = useSelector(selectSearchPattern)
|
|
99
|
-
const [pattern, setSearchPattern] = useState(searchPattern)
|
|
100
|
-
const debouncedPattern = useDebounce(pattern, 250)
|
|
95
|
+
};
|
|
96
|
+
const tabs = useTabs({ defaultIndex, onChange: onTabChange });
|
|
97
|
+
const searchCriteria = useSelector(selectSearchCriteria);
|
|
98
|
+
const searchPattern = useSelector(selectSearchPattern);
|
|
99
|
+
const [pattern, setSearchPattern] = useState(searchPattern);
|
|
100
|
+
const debouncedPattern = useDebounce(pattern, 250);
|
|
101
101
|
const [sideNavState, setSideNavState] = useState<SideNavState>(() => ({
|
|
102
102
|
tags: spec?.api?.tags || {},
|
|
103
103
|
typeTags: spec?.api?.typeTags || {},
|
|
104
104
|
methodCount: countMethods(spec?.api?.tags || {}),
|
|
105
105
|
typeCount: countTypes(spec?.api?.types || {}),
|
|
106
106
|
searchResults: undefined,
|
|
107
|
-
}))
|
|
108
|
-
const { tags, typeTags, methodCount, typeCount, searchResults } =
|
|
107
|
+
}));
|
|
108
|
+
const { tags, typeTags, methodCount, typeCount, searchResults } =
|
|
109
|
+
sideNavState;
|
|
109
110
|
|
|
110
111
|
const handleInputChange = (value: string) => {
|
|
111
|
-
setSearchPattern(value)
|
|
112
|
-
}
|
|
112
|
+
setSearchPattern(value);
|
|
113
|
+
};
|
|
113
114
|
|
|
114
115
|
useEffect(() => {
|
|
115
|
-
const searchParams = new URLSearchParams(location.search)
|
|
116
|
+
const searchParams = new URLSearchParams(location.search);
|
|
116
117
|
if (debouncedPattern && debouncedPattern !== searchParams.get('s')) {
|
|
117
|
-
searchParams.set('s', debouncedPattern)
|
|
118
|
-
navigate(location.pathname, { s: searchParams.get('s') })
|
|
118
|
+
searchParams.set('s', debouncedPattern);
|
|
119
|
+
navigate(location.pathname, { s: searchParams.get('s') });
|
|
119
120
|
} else if (!debouncedPattern && searchParams.get('s')) {
|
|
120
|
-
searchParams.delete('s')
|
|
121
|
-
navigate(location.pathname, { s: null })
|
|
121
|
+
searchParams.delete('s');
|
|
122
|
+
navigate(location.pathname, { s: null });
|
|
122
123
|
}
|
|
123
|
-
}, [debouncedPattern])
|
|
124
|
+
}, [debouncedPattern]);
|
|
124
125
|
// Removed location.search as dep to fix bug related to
|
|
125
126
|
// browser forward / backward navigation
|
|
126
127
|
|
|
127
128
|
useEffect(() => {
|
|
128
|
-
let results
|
|
129
|
-
let newTags
|
|
130
|
-
let newTypes
|
|
131
|
-
let newTypeTags
|
|
132
|
-
const api = spec.api || ({} as ApiModel)
|
|
133
|
-
setSearchPattern(searchPattern)
|
|
129
|
+
let results;
|
|
130
|
+
let newTags;
|
|
131
|
+
let newTypes;
|
|
132
|
+
let newTypeTags;
|
|
133
|
+
const api = spec.api || ({} as ApiModel);
|
|
134
|
+
setSearchPattern(searchPattern);
|
|
134
135
|
|
|
135
136
|
if (searchPattern && api.search) {
|
|
136
|
-
results = api.search(searchPattern, criteriaToSet(searchCriteria))
|
|
137
|
-
newTags = results.tags
|
|
138
|
-
newTypes = results.types
|
|
139
|
-
newTypeTags = tagTypes(api, results.types)
|
|
137
|
+
results = api.search(searchPattern, criteriaToSet(searchCriteria));
|
|
138
|
+
newTags = results.tags;
|
|
139
|
+
newTypes = results.types;
|
|
140
|
+
newTypeTags = tagTypes(api, results.types);
|
|
140
141
|
} else {
|
|
141
|
-
newTags = api.tags || {}
|
|
142
|
-
newTypes = api.types || {}
|
|
143
|
-
newTypeTags = api.typeTags || {}
|
|
142
|
+
newTags = api.tags || {};
|
|
143
|
+
newTypes = api.types || {};
|
|
144
|
+
newTypeTags = api.typeTags || {};
|
|
144
145
|
}
|
|
145
146
|
|
|
146
147
|
setSideNavState({
|
|
@@ -149,19 +150,12 @@ export const SideNav: FC<SideNavProps> = ({ headless = false, spec }) => {
|
|
|
149
150
|
typeCount: countTypes(newTypes),
|
|
150
151
|
methodCount: countMethods(newTags),
|
|
151
152
|
searchResults: results,
|
|
152
|
-
})
|
|
153
|
-
}, [searchPattern, specKey, spec, searchCriteria])
|
|
153
|
+
});
|
|
154
|
+
}, [searchPattern, specKey, spec, searchCriteria]);
|
|
154
155
|
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
onSelectTab(defaultIndex)
|
|
159
|
-
}
|
|
160
|
-
}, [defaultIndex, tabs])
|
|
161
|
-
|
|
162
|
-
const size = useWindowSize()
|
|
163
|
-
const headlessOffset = headless ? 200 : 120
|
|
164
|
-
const menuH = size.height - 16 * HEADER_REM - headlessOffset
|
|
156
|
+
const size = useWindowSize();
|
|
157
|
+
const headlessOffset = headless ? 200 : 120;
|
|
158
|
+
const menuH = size.height - 16 * HEADER_REM - headlessOffset;
|
|
165
159
|
|
|
166
160
|
return (
|
|
167
161
|
<nav>
|
|
@@ -205,5 +199,5 @@ export const SideNav: FC<SideNavProps> = ({ headless = false, spec }) => {
|
|
|
205
199
|
</TabPanel>
|
|
206
200
|
</TabPanels>
|
|
207
201
|
</nav>
|
|
208
|
-
)
|
|
209
|
-
}
|
|
202
|
+
);
|
|
203
|
+
};
|
|
@@ -23,55 +23,55 @@
|
|
|
23
23
|
SOFTWARE.
|
|
24
24
|
|
|
25
25
|
*/
|
|
26
|
-
import React from 'react'
|
|
27
|
-
import pick from 'lodash/pick'
|
|
28
|
-
import { screen } from '@testing-library/react'
|
|
29
|
-
import userEvent from '@testing-library/user-event'
|
|
26
|
+
import React from 'react';
|
|
27
|
+
import pick from 'lodash/pick';
|
|
28
|
+
import { screen } from '@testing-library/react';
|
|
29
|
+
import userEvent from '@testing-library/user-event';
|
|
30
30
|
|
|
31
|
-
import { api } from '../../test-data'
|
|
32
|
-
import { renderWithRouterAndReduxProvider } from '../../test-utils'
|
|
33
|
-
import { SideNavMethodTags } from './SideNavMethodTags'
|
|
31
|
+
import { api } from '../../test-data';
|
|
32
|
+
import { renderWithRouterAndReduxProvider } from '../../test-utils';
|
|
33
|
+
import { SideNavMethodTags } from './SideNavMethodTags';
|
|
34
34
|
|
|
35
35
|
describe('SideNavTags', () => {
|
|
36
|
-
const tags = pick(api.tags, ['ApiAuth', 'Dashboard'])
|
|
37
|
-
test('it renders a provided tag and its methods', () => {
|
|
36
|
+
const tags = pick(api.tags, ['ApiAuth', 'Dashboard']);
|
|
37
|
+
test('it renders a provided tag and its methods', async () => {
|
|
38
38
|
renderWithRouterAndReduxProvider(
|
|
39
39
|
<SideNavMethodTags tags={tags} specKey={'4.0'} />
|
|
40
|
-
)
|
|
41
|
-
const tag = screen.getByText('Dashboard')
|
|
42
|
-
const tagContent = 'Create Dashboard'
|
|
43
|
-
expect(screen.queryByText(tagContent)).not.toBeInTheDocument()
|
|
44
|
-
userEvent.click(tag)
|
|
45
|
-
expect(screen.getByText(tagContent)).toBeInTheDocument()
|
|
46
|
-
const methods = screen.getAllByRole('link')
|
|
47
|
-
expect(methods).toHaveLength(Object.keys(tags.Dashboard).length)
|
|
48
|
-
})
|
|
40
|
+
);
|
|
41
|
+
const tag = screen.getByText('Dashboard');
|
|
42
|
+
const tagContent = 'Create Dashboard';
|
|
43
|
+
expect(screen.queryByText(tagContent)).not.toBeInTheDocument();
|
|
44
|
+
await userEvent.click(tag);
|
|
45
|
+
expect(screen.getByText(tagContent)).toBeInTheDocument();
|
|
46
|
+
const methods = screen.getAllByRole('link');
|
|
47
|
+
expect(methods).toHaveLength(Object.keys(tags.Dashboard).length);
|
|
48
|
+
});
|
|
49
49
|
|
|
50
|
-
test('tags are rendered initially collapsed and expand when clicked', () => {
|
|
50
|
+
test('tags are rendered initially collapsed and expand when clicked', async () => {
|
|
51
51
|
renderWithRouterAndReduxProvider(
|
|
52
52
|
<SideNavMethodTags tags={tags} specKey={'4.0'} />
|
|
53
|
-
)
|
|
53
|
+
);
|
|
54
54
|
|
|
55
|
-
const allTags = screen.getAllByText(/ApiAuth|Dashboard/)
|
|
56
|
-
expect(allTags).toHaveLength(2)
|
|
57
|
-
expect(screen.queryByText('Login')).not.toBeInTheDocument()
|
|
58
|
-
expect(screen.queryByText('Create Dashboard')).not.toBeInTheDocument()
|
|
59
|
-
userEvent.click(allTags[0])
|
|
60
|
-
expect(screen.getByText('Login')).toBeInTheDocument()
|
|
61
|
-
expect(screen.queryByText('Create Dashboard')).not.toBeInTheDocument()
|
|
62
|
-
})
|
|
55
|
+
const allTags = screen.getAllByText(/ApiAuth|Dashboard/);
|
|
56
|
+
expect(allTags).toHaveLength(2);
|
|
57
|
+
expect(screen.queryByText('Login')).not.toBeInTheDocument();
|
|
58
|
+
expect(screen.queryByText('Create Dashboard')).not.toBeInTheDocument();
|
|
59
|
+
await userEvent.click(allTags[0]);
|
|
60
|
+
expect(screen.getByText('Login')).toBeInTheDocument();
|
|
61
|
+
expect(screen.queryByText('Create Dashboard')).not.toBeInTheDocument();
|
|
62
|
+
});
|
|
63
63
|
|
|
64
64
|
test('tag is expanded if specified in route', () => {
|
|
65
65
|
renderWithRouterAndReduxProvider(
|
|
66
66
|
<SideNavMethodTags tags={tags} specKey={'4.0'} />,
|
|
67
67
|
['/4.0/methods/Dashboard']
|
|
68
|
-
)
|
|
68
|
+
);
|
|
69
69
|
|
|
70
|
-
const allTags = screen.getAllByText(/^(ApiAuth|Dashboard)$/)
|
|
71
|
-
expect(allTags).toHaveLength(2)
|
|
72
|
-
expect(screen.queryByText('Login')).not.toBeInTheDocument()
|
|
70
|
+
const allTags = screen.getAllByText(/^(ApiAuth|Dashboard)$/);
|
|
71
|
+
expect(allTags).toHaveLength(2);
|
|
72
|
+
expect(screen.queryByText('Login')).not.toBeInTheDocument();
|
|
73
73
|
expect(screen.getAllByRole('link')).toHaveLength(
|
|
74
74
|
Object.keys(tags.Dashboard).length
|
|
75
|
-
)
|
|
76
|
-
})
|
|
77
|
-
})
|
|
75
|
+
);
|
|
76
|
+
});
|
|
77
|
+
});
|
|
@@ -24,16 +24,16 @@
|
|
|
24
24
|
|
|
25
25
|
*/
|
|
26
26
|
|
|
27
|
-
import React from 'react'
|
|
28
|
-
import styled from 'styled-components'
|
|
29
|
-
import type { TagList } from '@looker/sdk-codegen'
|
|
30
|
-
import { SideNavMethods } from './SideNavMethods'
|
|
27
|
+
import React from 'react';
|
|
28
|
+
import styled from 'styled-components';
|
|
29
|
+
import type { TagList } from '@looker/sdk-codegen';
|
|
30
|
+
import { SideNavMethods } from './SideNavMethods';
|
|
31
31
|
|
|
32
32
|
interface TagsProps {
|
|
33
|
-
tags: TagList
|
|
34
|
-
specKey: string
|
|
35
|
-
defaultOpen?: boolean
|
|
36
|
-
className?: string
|
|
33
|
+
tags: TagList;
|
|
34
|
+
specKey: string;
|
|
35
|
+
defaultOpen?: boolean;
|
|
36
|
+
className?: string;
|
|
37
37
|
}
|
|
38
38
|
|
|
39
39
|
export const SideNavMethodTags = styled(
|
|
@@ -52,4 +52,4 @@ export const SideNavMethodTags = styled(
|
|
|
52
52
|
)
|
|
53
53
|
)`
|
|
54
54
|
padding: 0 ${({ theme }) => theme.space.large};
|
|
55
|
-
|
|
55
|
+
`;
|
|
@@ -23,67 +23,67 @@
|
|
|
23
23
|
SOFTWARE.
|
|
24
24
|
|
|
25
25
|
*/
|
|
26
|
-
import React from 'react'
|
|
27
|
-
import pick from 'lodash/pick'
|
|
28
|
-
import userEvent from '@testing-library/user-event'
|
|
29
|
-
import { screen } from '@testing-library/react'
|
|
26
|
+
import React from 'react';
|
|
27
|
+
import pick from 'lodash/pick';
|
|
28
|
+
import userEvent from '@testing-library/user-event';
|
|
29
|
+
import { screen } from '@testing-library/react';
|
|
30
30
|
|
|
31
|
-
import { api } from '../../test-data'
|
|
31
|
+
import { api } from '../../test-data';
|
|
32
32
|
import {
|
|
33
33
|
createTestStore,
|
|
34
34
|
renderWithRouterAndReduxProvider,
|
|
35
|
-
} from '../../test-utils'
|
|
36
|
-
import { SideNavMethods } from './SideNavMethods'
|
|
35
|
+
} from '../../test-utils';
|
|
36
|
+
import { SideNavMethods } from './SideNavMethods';
|
|
37
37
|
|
|
38
|
-
const mockHistoryPush = jest.fn()
|
|
38
|
+
const mockHistoryPush = jest.fn();
|
|
39
39
|
jest.mock('react-router-dom', () => {
|
|
40
|
-
const ReactRouterDOM = jest.requireActual('react-router-dom')
|
|
40
|
+
const ReactRouterDOM = jest.requireActual('react-router-dom');
|
|
41
41
|
return {
|
|
42
42
|
...ReactRouterDOM,
|
|
43
43
|
useHistory: () => ({
|
|
44
44
|
push: mockHistoryPush,
|
|
45
45
|
location: globalThis.location,
|
|
46
46
|
}),
|
|
47
|
-
}
|
|
48
|
-
})
|
|
47
|
+
};
|
|
48
|
+
});
|
|
49
49
|
|
|
50
50
|
describe('SideNavMethods', () => {
|
|
51
|
-
const tag = 'Dashboard'
|
|
52
|
-
const methods = api.tags[tag]
|
|
53
|
-
const specKey = '4.0'
|
|
51
|
+
const tag = 'Dashboard';
|
|
52
|
+
const methods = api.tags[tag];
|
|
53
|
+
const specKey = '4.0';
|
|
54
54
|
|
|
55
55
|
beforeEach(() => {
|
|
56
|
-
jest.clearAllMocks()
|
|
57
|
-
})
|
|
56
|
+
jest.clearAllMocks();
|
|
57
|
+
});
|
|
58
58
|
|
|
59
|
-
test('it renders provided methods', () => {
|
|
59
|
+
test('it renders provided methods', async () => {
|
|
60
60
|
renderWithRouterAndReduxProvider(
|
|
61
61
|
<SideNavMethods methods={methods} tag={tag} specKey={specKey} />
|
|
62
|
-
)
|
|
63
|
-
userEvent.click(screen.getByText(tag))
|
|
64
|
-
const sideNavItems = screen.getAllByRole('link')
|
|
65
|
-
expect(sideNavItems).toHaveLength(Object.keys(methods).length)
|
|
62
|
+
);
|
|
63
|
+
await userEvent.click(screen.getByText(tag));
|
|
64
|
+
const sideNavItems = screen.getAllByRole('link');
|
|
65
|
+
expect(sideNavItems).toHaveLength(Object.keys(methods).length);
|
|
66
66
|
expect(sideNavItems[0]).toHaveAttribute(
|
|
67
67
|
'href',
|
|
68
68
|
`/${specKey}/methods/${tag}/${Object.values(methods)[0].name}`
|
|
69
|
-
)
|
|
70
|
-
})
|
|
69
|
+
);
|
|
70
|
+
});
|
|
71
71
|
|
|
72
|
-
test('tag expands and displays methods after clicked', () => {
|
|
72
|
+
test('tag expands and displays methods after clicked', async () => {
|
|
73
73
|
renderWithRouterAndReduxProvider(
|
|
74
74
|
<SideNavMethods methods={methods} tag={tag} specKey={specKey} />
|
|
75
|
-
)
|
|
76
|
-
const firstMethod = Object.values(methods)[0].schema.summary
|
|
77
|
-
expect(screen.queryByText(firstMethod)).not.toBeInTheDocument()
|
|
78
|
-
userEvent.click(screen.getByText(tag))
|
|
79
|
-
expect(mockHistoryPush).toHaveBeenCalledWith(`/${specKey}/methods/${tag}`)
|
|
80
|
-
expect(screen.getByRole('link', { name: firstMethod })).toBeInTheDocument()
|
|
75
|
+
);
|
|
76
|
+
const firstMethod = Object.values(methods)[0].schema.summary;
|
|
77
|
+
expect(screen.queryByText(firstMethod)).not.toBeInTheDocument();
|
|
78
|
+
await userEvent.click(screen.getByText(tag));
|
|
79
|
+
expect(mockHistoryPush).toHaveBeenCalledWith(`/${specKey}/methods/${tag}`);
|
|
80
|
+
expect(screen.getByRole('link', { name: firstMethod })).toBeInTheDocument();
|
|
81
81
|
expect(screen.getAllByRole('link')).toHaveLength(
|
|
82
82
|
Object.values(methods).length
|
|
83
|
-
)
|
|
84
|
-
})
|
|
83
|
+
);
|
|
84
|
+
});
|
|
85
85
|
|
|
86
|
-
test('expanded tag closes when clicked', () => {
|
|
86
|
+
test('expanded tag closes when clicked', async () => {
|
|
87
87
|
renderWithRouterAndReduxProvider(
|
|
88
88
|
<SideNavMethods
|
|
89
89
|
methods={methods}
|
|
@@ -91,20 +91,20 @@ describe('SideNavMethods', () => {
|
|
|
91
91
|
specKey={specKey}
|
|
92
92
|
defaultOpen={true}
|
|
93
93
|
/>
|
|
94
|
-
)
|
|
95
|
-
const firstMethod = Object.values(methods)[0].schema.summary
|
|
96
|
-
expect(screen.getByRole('link', { name: firstMethod })).toBeInTheDocument()
|
|
94
|
+
);
|
|
95
|
+
const firstMethod = Object.values(methods)[0].schema.summary;
|
|
96
|
+
expect(screen.getByRole('link', { name: firstMethod })).toBeInTheDocument();
|
|
97
97
|
expect(screen.getAllByRole('link')).toHaveLength(
|
|
98
98
|
Object.values(methods).length
|
|
99
|
-
)
|
|
100
|
-
userEvent.click(screen.getByText(tag))
|
|
101
|
-
expect(mockHistoryPush).toHaveBeenCalledWith(`/${specKey}/methods`)
|
|
102
|
-
expect(screen.queryByText(firstMethod)).not.toBeInTheDocument()
|
|
103
|
-
expect(screen.queryByRole('link')).not.toBeInTheDocument()
|
|
104
|
-
})
|
|
99
|
+
);
|
|
100
|
+
await userEvent.click(screen.getByText(tag));
|
|
101
|
+
expect(mockHistoryPush).toHaveBeenCalledWith(`/${specKey}/methods`);
|
|
102
|
+
expect(screen.queryByText(firstMethod)).not.toBeInTheDocument();
|
|
103
|
+
expect(screen.queryByRole('link')).not.toBeInTheDocument();
|
|
104
|
+
});
|
|
105
105
|
|
|
106
|
-
test('it highlights text matching search pattern in both tag and methods', () => {
|
|
107
|
-
const store = createTestStore({ settings: { searchPattern: 'dash' } })
|
|
106
|
+
test('it highlights text matching search pattern in both tag and methods', async () => {
|
|
107
|
+
const store = createTestStore({ settings: { searchPattern: 'dash' } });
|
|
108
108
|
renderWithRouterAndReduxProvider(
|
|
109
109
|
<SideNavMethods
|
|
110
110
|
methods={pick(methods, 'create_dashboard')}
|
|
@@ -113,12 +113,12 @@ describe('SideNavMethods', () => {
|
|
|
113
113
|
/>,
|
|
114
114
|
undefined,
|
|
115
115
|
store
|
|
116
|
-
)
|
|
117
|
-
userEvent.click(screen.getByText('Dash'))
|
|
118
|
-
const matches = screen.getAllByText(/dash/i)
|
|
119
|
-
expect(matches).toHaveLength(2)
|
|
116
|
+
);
|
|
117
|
+
await userEvent.click(screen.getByText('Dash'));
|
|
118
|
+
const matches = screen.getAllByText(/dash/i);
|
|
119
|
+
expect(matches).toHaveLength(2);
|
|
120
120
|
matches.forEach((match) => {
|
|
121
|
-
expect(match).toContainHTML('<span class="hi">Dash</span>')
|
|
122
|
-
})
|
|
123
|
-
})
|
|
124
|
-
})
|
|
121
|
+
expect(match).toContainHTML('<span class="hi">Dash</span>');
|
|
122
|
+
});
|
|
123
|
+
});
|
|
124
|
+
});
|
|
@@ -24,49 +24,49 @@
|
|
|
24
24
|
|
|
25
25
|
*/
|
|
26
26
|
|
|
27
|
-
import React, { useEffect, useState } from 'react'
|
|
28
|
-
import styled from 'styled-components'
|
|
29
|
-
import { Accordion2, Heading } from '@looker/components'
|
|
30
|
-
import type { MethodList } from '@looker/sdk-codegen'
|
|
31
|
-
import { useSelector } from 'react-redux'
|
|
32
|
-
import { useRouteMatch } from 'react-router-dom'
|
|
33
|
-
import {
|
|
34
|
-
import { Link } from '../Link'
|
|
35
|
-
import { selectSearchPattern } from '../../state'
|
|
27
|
+
import React, { useEffect, useState } from 'react';
|
|
28
|
+
import styled from 'styled-components';
|
|
29
|
+
import { Accordion2, Heading } from '@looker/components';
|
|
30
|
+
import type { MethodList } from '@looker/sdk-codegen';
|
|
31
|
+
import { useSelector } from 'react-redux';
|
|
32
|
+
import { useRouteMatch } from 'react-router-dom';
|
|
33
|
+
import { buildMethodPath, highlightHTML, useNavigation } from '../../utils';
|
|
34
|
+
import { Link } from '../Link';
|
|
35
|
+
import { selectSearchPattern } from '../../state';
|
|
36
36
|
|
|
37
37
|
interface MethodsProps {
|
|
38
|
-
methods: MethodList
|
|
39
|
-
tag: string
|
|
40
|
-
specKey: string
|
|
41
|
-
className?: string
|
|
42
|
-
defaultOpen?: boolean
|
|
38
|
+
methods: MethodList;
|
|
39
|
+
tag: string;
|
|
40
|
+
specKey: string;
|
|
41
|
+
className?: string;
|
|
42
|
+
defaultOpen?: boolean;
|
|
43
43
|
}
|
|
44
44
|
|
|
45
45
|
export const SideNavMethods = styled(
|
|
46
46
|
({ className, methods, tag, specKey, defaultOpen = false }: MethodsProps) => {
|
|
47
47
|
const { buildPathWithGlobalParams, navigateWithGlobalParams } =
|
|
48
|
-
useNavigation()
|
|
49
|
-
const searchPattern = useSelector(selectSearchPattern)
|
|
48
|
+
useNavigation();
|
|
49
|
+
const searchPattern = useSelector(selectSearchPattern);
|
|
50
50
|
const match = useRouteMatch<{ methodTag: string }>(
|
|
51
51
|
`/:specKey/methods/:methodTag/:methodName?`
|
|
52
|
-
)
|
|
53
|
-
const [isOpen, setIsOpen] = useState(defaultOpen)
|
|
52
|
+
);
|
|
53
|
+
const [isOpen, setIsOpen] = useState(defaultOpen);
|
|
54
54
|
const handleOpen = () => {
|
|
55
|
-
const _isOpen = !isOpen
|
|
56
|
-
setIsOpen(_isOpen)
|
|
55
|
+
const _isOpen = !isOpen;
|
|
56
|
+
setIsOpen(_isOpen);
|
|
57
57
|
if (_isOpen) {
|
|
58
|
-
navigateWithGlobalParams(`/${specKey}/methods/${tag}`)
|
|
58
|
+
navigateWithGlobalParams(`/${specKey}/methods/${tag}`);
|
|
59
59
|
} else {
|
|
60
|
-
navigateWithGlobalParams(`/${specKey}/methods`)
|
|
60
|
+
navigateWithGlobalParams(`/${specKey}/methods`);
|
|
61
61
|
}
|
|
62
|
-
}
|
|
62
|
+
};
|
|
63
63
|
|
|
64
64
|
useEffect(() => {
|
|
65
65
|
const status = match
|
|
66
66
|
? defaultOpen || match.params.methodTag === tag
|
|
67
|
-
: defaultOpen
|
|
68
|
-
setIsOpen(status)
|
|
69
|
-
}, [defaultOpen])
|
|
67
|
+
: defaultOpen;
|
|
68
|
+
setIsOpen(status);
|
|
69
|
+
}, [defaultOpen]);
|
|
70
70
|
|
|
71
71
|
/* TODO: Fix highlighting. It is applied but it is somehow being overridden */
|
|
72
72
|
return (
|
|
@@ -94,7 +94,7 @@ export const SideNavMethods = styled(
|
|
|
94
94
|
))}
|
|
95
95
|
</ul>
|
|
96
96
|
</Accordion2>
|
|
97
|
-
)
|
|
97
|
+
);
|
|
98
98
|
}
|
|
99
99
|
)`
|
|
100
100
|
font-family: ${({ theme }) => theme.fonts.brand};
|
|
@@ -139,4 +139,4 @@ export const SideNavMethods = styled(
|
|
|
139
139
|
background: ${({ theme }) => theme.colors.ui1};
|
|
140
140
|
}
|
|
141
141
|
}
|
|
142
|
-
|
|
142
|
+
`;
|