@looker/api-explorer 0.9.22 → 0.9.24
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 +50 -0
- package/lib/ApiExplorer.d.ts +4 -39
- package/lib/ApiExplorer.js +23 -24
- package/lib/ApiExplorer.js.map +1 -1
- package/lib/App.d.ts +1 -0
- package/lib/App.js +29 -0
- package/lib/App.js.map +1 -0
- package/lib/StandaloneApiExplorer.js +8 -13
- package/lib/StandaloneApiExplorer.js.map +1 -1
- package/lib/components/DocMarkdown/DocMarkdown.js +5 -5
- package/lib/components/DocMarkdown/DocMarkdown.js.map +1 -1
- package/lib/components/DocSdkUsage/DocSdkUsage.js +3 -6
- package/lib/components/DocSdkUsage/DocSdkUsage.js.map +1 -1
- package/lib/components/DocSource/DocSource.js +5 -7
- package/lib/components/DocSource/DocSource.js.map +1 -1
- package/lib/components/ErrorBoundary/components/SomethingWentWrong/components/SomethingWentWrongGraphic/SomethingWentWrongGraphic.d.ts +1 -1
- package/lib/components/ErrorBoundary/components/SomethingWentWrong/components/SomethingWentWrongGraphic/SomethingWentWrongGraphic.js +152 -8
- package/lib/components/ErrorBoundary/components/SomethingWentWrong/components/SomethingWentWrongGraphic/SomethingWentWrongGraphic.js.map +1 -1
- package/lib/components/SelectorContainer/SdkLanguageSelector.js +1 -1
- package/lib/components/SelectorContainer/SdkLanguageSelector.js.map +1 -1
- package/lib/components/SideNav/SideNav.js +1 -1
- package/lib/components/SideNav/SideNav.js.map +1 -1
- package/lib/components/common/Loader.d.ts +1 -1
- package/lib/components/common/Loader.js.map +1 -1
- package/lib/esm/ApiExplorer.js +25 -26
- package/lib/esm/ApiExplorer.js.map +1 -1
- package/lib/esm/App.js +19 -0
- package/lib/esm/App.js.map +1 -0
- package/lib/esm/StandaloneApiExplorer.js +7 -10
- package/lib/esm/StandaloneApiExplorer.js.map +1 -1
- package/lib/esm/components/DocMarkdown/DocMarkdown.js +3 -3
- package/lib/esm/components/DocMarkdown/DocMarkdown.js.map +1 -1
- package/lib/esm/components/DocSdkUsage/DocSdkUsage.js +5 -7
- package/lib/esm/components/DocSdkUsage/DocSdkUsage.js.map +1 -1
- package/lib/esm/components/DocSource/DocSource.js +4 -5
- package/lib/esm/components/DocSource/DocSource.js.map +1 -1
- package/lib/esm/components/ErrorBoundary/components/SomethingWentWrong/components/SomethingWentWrongGraphic/SomethingWentWrongGraphic.js +153 -6
- package/lib/esm/components/ErrorBoundary/components/SomethingWentWrong/components/SomethingWentWrongGraphic/SomethingWentWrongGraphic.js.map +1 -1
- package/lib/esm/components/SelectorContainer/SdkLanguageSelector.js +2 -2
- package/lib/esm/components/SelectorContainer/SdkLanguageSelector.js.map +1 -1
- package/lib/esm/components/SideNav/SideNav.js +2 -2
- package/lib/esm/components/SideNav/SideNav.js.map +1 -1
- package/lib/esm/components/common/Loader.js.map +1 -1
- package/lib/esm/index.js +4 -18
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/routes/AppRouter.js +2 -2
- package/lib/esm/routes/AppRouter.js.map +1 -1
- package/lib/esm/scenes/MethodScene/MethodScene.js +9 -11
- package/lib/esm/scenes/MethodScene/MethodScene.js.map +1 -1
- package/lib/esm/state/index.js +1 -0
- package/lib/esm/state/index.js.map +1 -1
- package/lib/esm/state/lodes/index.js +3 -0
- package/lib/{test-utils/envAdaptor.js.map → esm/state/lodes/index.js.map} +1 -1
- package/lib/esm/state/lodes/sagas.js +25 -0
- package/lib/esm/state/lodes/sagas.js.map +1 -0
- package/lib/esm/state/lodes/selectors.js +5 -0
- package/lib/esm/state/lodes/selectors.js.map +1 -0
- package/lib/esm/state/lodes/slice.js +30 -0
- package/lib/esm/state/lodes/slice.js.map +1 -0
- package/lib/esm/state/settings/sagas.js +28 -16
- package/lib/esm/state/settings/sagas.js.map +1 -1
- package/lib/esm/state/settings/selectors.js +5 -5
- package/lib/esm/state/settings/selectors.js.map +1 -1
- package/lib/esm/state/settings/slice.js +8 -8
- package/lib/esm/state/settings/slice.js.map +1 -1
- package/lib/esm/state/store.js +6 -3
- package/lib/esm/state/store.js.map +1 -1
- package/lib/esm/test-utils/index.js +1 -2
- package/lib/esm/test-utils/index.js.map +1 -1
- package/lib/esm/test-utils/lodes.js +12 -0
- package/lib/esm/test-utils/lodes.js.map +1 -0
- package/lib/esm/test-utils/redux.js +11 -8
- package/lib/esm/test-utils/redux.js.map +1 -1
- package/lib/esm/utils/index.js +0 -1
- package/lib/esm/utils/index.js.map +1 -1
- package/lib/esm/utils/lodeUtils.js +3 -7
- package/lib/esm/utils/lodeUtils.js.map +1 -1
- package/lib/index.d.ts +4 -1
- package/lib/index.js +52 -23
- package/lib/index.js.map +1 -1
- package/lib/routes/AppRouter.d.ts +2 -2
- package/lib/routes/AppRouter.js +2 -2
- package/lib/routes/AppRouter.js.map +1 -1
- package/lib/scenes/MethodScene/MethodScene.d.ts +2 -2
- package/lib/scenes/MethodScene/MethodScene.js +7 -9
- package/lib/scenes/MethodScene/MethodScene.js.map +1 -1
- package/lib/state/index.d.ts +1 -0
- package/lib/state/index.js +13 -0
- package/lib/state/index.js.map +1 -1
- package/lib/state/lodes/index.d.ts +2 -0
- package/lib/state/lodes/index.js +32 -0
- package/lib/state/lodes/index.js.map +1 -0
- package/lib/state/lodes/sagas.d.ts +1 -0
- package/lib/state/lodes/sagas.js +34 -0
- package/lib/state/lodes/sagas.js.map +1 -0
- package/lib/state/lodes/selectors.d.ts +3 -0
- package/lib/state/lodes/selectors.js +17 -0
- package/lib/state/lodes/selectors.js.map +1 -0
- package/lib/state/lodes/slice.d.ts +29 -0
- package/lib/state/lodes/slice.js +45 -0
- package/lib/state/lodes/slice.js.map +1 -0
- package/lib/state/settings/sagas.js +28 -15
- package/lib/state/settings/sagas.js.map +1 -1
- package/lib/state/settings/selectors.js +5 -5
- package/lib/state/settings/selectors.js.map +1 -1
- package/lib/state/settings/slice.d.ts +13 -13
- package/lib/state/settings/slice.js +13 -13
- package/lib/state/settings/slice.js.map +1 -1
- package/lib/state/store.d.ts +3 -0
- package/lib/state/store.js +6 -2
- package/lib/state/store.js.map +1 -1
- package/lib/test-data/declarations.js +24 -0
- package/lib/test-data/declarations.js.map +1 -0
- package/lib/test-data/index.js +23 -0
- package/lib/test-data/index.js.map +1 -1
- package/lib/test-utils/index.d.ts +1 -2
- package/lib/test-utils/index.js +12 -28
- package/lib/test-utils/index.js.map +1 -1
- package/lib/test-utils/lodes.d.ts +4 -0
- package/lib/test-utils/lodes.js +23 -0
- package/lib/test-utils/lodes.js.map +1 -0
- package/lib/test-utils/redux.d.ts +3 -1
- package/lib/test-utils/redux.js +12 -8
- package/lib/test-utils/redux.js.map +1 -1
- package/lib/utils/index.d.ts +0 -1
- package/lib/utils/index.js +0 -24
- package/lib/utils/index.js.map +1 -1
- package/lib/utils/lodeUtils.d.ts +2 -2
- package/lib/utils/lodeUtils.js +3 -7
- package/lib/utils/lodeUtils.js.map +1 -1
- package/package.json +11 -10
- package/public/Looker.3.1.json +1343 -412
- package/public/Looker.4.0.json +3305 -661
- package/src/ApiExplorer.tsx +99 -102
- package/src/{index.tsx → App.tsx} +0 -0
- package/src/StandaloneApiExplorer.tsx +8 -16
- package/src/components/DocMarkdown/DocMarkdown.tsx +3 -3
- package/src/components/DocSdkUsage/DocSdkUsage.spec.tsx +2 -2
- package/src/components/DocSdkUsage/DocSdkUsage.tsx +5 -5
- package/src/components/DocSource/DocSource.tsx +4 -3
- package/src/components/ErrorBoundary/components/SomethingWentWrong/SomethingWentWrong.spec.tsx +1 -1
- package/src/components/ErrorBoundary/components/SomethingWentWrong/components/SomethingWentWrongGraphic/SomethingWentWrongGraphic.tsx +170 -6
- package/src/components/SelectorContainer/SdkLanguageSelector.spec.tsx +3 -5
- package/src/components/SelectorContainer/SdkLanguageSelector.tsx +2 -2
- package/src/components/SideNav/SideNav.tsx +2 -2
- package/src/components/common/Loader.tsx +1 -1
- package/src/{context/lode/index.ts → index.ts} +4 -1
- package/src/routes/AppRouter.tsx +5 -4
- package/src/scenes/MethodScene/MethodScene.tsx +11 -11
- package/src/state/index.ts +1 -0
- package/src/{context → state/lodes}/index.ts +2 -1
- package/src/state/lodes/sagas.spec.ts +92 -0
- package/src/state/lodes/sagas.ts +51 -0
- package/src/state/lodes/selectors.spec.ts +42 -0
- package/src/{test-utils/envAdaptor.ts → state/lodes/selectors.ts} +8 -5
- package/src/{test-utils/render_with_lode.tsx → state/lodes/slice.ts} +37 -37
- package/src/state/settings/sagas.spec.ts +25 -21
- package/src/state/settings/sagas.ts +16 -16
- package/src/state/settings/selectors.spec.ts +1 -5
- package/src/state/settings/selectors.ts +5 -5
- package/src/state/settings/slice.ts +12 -7
- package/src/state/store.ts +7 -2
- package/src/{context/lode/LodeContext.ts → test-data/declarations.ts} +17 -14
- package/src/test-data/index.ts +1 -0
- package/src/test-utils/index.ts +1 -5
- package/src/test-utils/lodes.tsx +41 -0
- package/src/test-utils/redux.tsx +19 -7
- package/src/utils/index.ts +0 -1
- package/src/utils/lodeUtils.ts +4 -6
- package/webpack.dev.config.js +3 -0
- package/webpack.prod.config.js +4 -0
- package/lib/context/index.d.ts +0 -1
- package/lib/context/index.js +0 -20
- package/lib/context/index.js.map +0 -1
- package/lib/context/lode/LodeContext.d.ts +0 -9
- package/lib/context/lode/LodeContext.js +0 -21
- package/lib/context/lode/LodeContext.js.map +0 -1
- package/lib/context/lode/index.d.ts +0 -1
- package/lib/context/lode/index.js +0 -20
- package/lib/context/lode/index.js.map +0 -1
- package/lib/esm/context/index.js +0 -2
- package/lib/esm/context/index.js.map +0 -1
- package/lib/esm/context/lode/LodeContext.js +0 -11
- package/lib/esm/context/lode/LodeContext.js.map +0 -1
- package/lib/esm/context/lode/index.js +0 -2
- package/lib/esm/context/lode/index.js.map +0 -1
- package/lib/esm/test-utils/envAdaptor.js +0 -5
- package/lib/esm/test-utils/envAdaptor.js.map +0 -1
- package/lib/esm/test-utils/render_with_lode.js +0 -19
- package/lib/esm/test-utils/render_with_lode.js.map +0 -1
- package/lib/esm/utils/envAdaptor.js +0 -84
- package/lib/esm/utils/envAdaptor.js.map +0 -1
- package/lib/test-utils/envAdaptor.d.ts +0 -2
- package/lib/test-utils/envAdaptor.js +0 -15
- package/lib/test-utils/render_with_lode.d.ts +0 -7
- package/lib/test-utils/render_with_lode.js +0 -36
- package/lib/test-utils/render_with_lode.js.map +0 -1
- package/lib/utils/envAdaptor.d.ts +0 -31
- package/lib/utils/envAdaptor.js +0 -106
- package/lib/utils/envAdaptor.js.map +0 -1
- package/src/components/ErrorBoundary/components/SomethingWentWrong/components/SomethingWentWrongGraphic/somethingWentWrong.svg +0 -45
- package/src/utils/envAdaptor.spec.ts +0 -50
- package/src/utils/envAdaptor.ts +0 -147
package/src/ApiExplorer.tsx
CHANGED
|
@@ -44,14 +44,12 @@ import { funFetch, fallbackFetch, OAuthScene } from '@looker/run-it'
|
|
|
44
44
|
import { FirstPage } from '@styled-icons/material/FirstPage'
|
|
45
45
|
import { LastPage } from '@styled-icons/material/LastPage'
|
|
46
46
|
|
|
47
|
-
import {
|
|
48
|
-
import type { IApixEnvAdaptor } from './utils'
|
|
47
|
+
import type { IEnvironmentAdaptor } from '@looker/extension-utils'
|
|
49
48
|
import {
|
|
50
|
-
getLoded,
|
|
51
|
-
oAuthPath,
|
|
52
49
|
registerEnvAdaptor,
|
|
53
50
|
unregisterEnvAdaptor,
|
|
54
|
-
} from '
|
|
51
|
+
} from '@looker/extension-utils'
|
|
52
|
+
import { oAuthPath } from './utils'
|
|
55
53
|
import {
|
|
56
54
|
Header,
|
|
57
55
|
SideNav,
|
|
@@ -63,29 +61,36 @@ import {
|
|
|
63
61
|
import { specReducer, initDefaultSpecState, updateSpecApi } from './reducers'
|
|
64
62
|
import { AppRouter } from './routes'
|
|
65
63
|
import { apixFilesHost } from './utils/lodeUtils'
|
|
66
|
-
import {
|
|
64
|
+
import {
|
|
65
|
+
useSettingActions,
|
|
66
|
+
useSettingStoreState,
|
|
67
|
+
useLodeActions,
|
|
68
|
+
useLodesStoreState,
|
|
69
|
+
} from './state'
|
|
67
70
|
|
|
68
71
|
export interface ApiExplorerProps {
|
|
69
72
|
specs: SpecList
|
|
70
|
-
|
|
73
|
+
adaptor: IEnvironmentAdaptor
|
|
71
74
|
setVersionsUrl: RunItSetter
|
|
72
|
-
|
|
75
|
+
examplesLodeUrl?: string
|
|
73
76
|
declarationsLodeUrl?: string
|
|
74
77
|
headless?: boolean
|
|
75
78
|
}
|
|
76
79
|
|
|
77
|
-
|
|
80
|
+
const BodyOverride = createGlobalStyle` html { height: 100%; overflow: hidden; } `
|
|
78
81
|
|
|
79
|
-
const ApiExplorer: FC<ApiExplorerProps> = ({
|
|
82
|
+
export const ApiExplorer: FC<ApiExplorerProps> = ({
|
|
80
83
|
specs,
|
|
81
|
-
|
|
84
|
+
adaptor,
|
|
82
85
|
setVersionsUrl,
|
|
83
|
-
|
|
86
|
+
examplesLodeUrl = 'https://raw.githubusercontent.com/looker-open-source/sdk-codegen/main/examplesIndex.json',
|
|
84
87
|
declarationsLodeUrl = `${apixFilesHost}/declarationsIndex.json`,
|
|
85
88
|
headless = false,
|
|
86
89
|
}) => {
|
|
87
|
-
const { initialized } =
|
|
88
|
-
|
|
90
|
+
const { initialized } = useSettingStoreState()
|
|
91
|
+
useLodesStoreState()
|
|
92
|
+
const { initLodesAction } = useLodeActions()
|
|
93
|
+
const { initSettingsAction } = useSettingActions()
|
|
89
94
|
const location = useLocation()
|
|
90
95
|
const oauthReturn = location.pathname === `/${oAuthPath}`
|
|
91
96
|
const [specState, specDispatch] = useReducer(
|
|
@@ -94,8 +99,6 @@ const ApiExplorer: FC<ApiExplorerProps> = ({
|
|
|
94
99
|
)
|
|
95
100
|
const { spec } = specState
|
|
96
101
|
|
|
97
|
-
const [lode, setLode] = useState(defaultLodeContextValue)
|
|
98
|
-
|
|
99
102
|
const [hasNavigation, setHasNavigation] = useState(true)
|
|
100
103
|
const toggleNavigation = (target?: boolean) =>
|
|
101
104
|
setHasNavigation(target || !hasNavigation)
|
|
@@ -107,8 +110,9 @@ const ApiExplorer: FC<ApiExplorerProps> = ({
|
|
|
107
110
|
}, [])
|
|
108
111
|
|
|
109
112
|
useEffect(() => {
|
|
110
|
-
registerEnvAdaptor(
|
|
111
|
-
|
|
113
|
+
registerEnvAdaptor(adaptor)
|
|
114
|
+
initSettingsAction()
|
|
115
|
+
initLodesAction({ examplesLodeUrl, declarationsLodeUrl })
|
|
112
116
|
|
|
113
117
|
return () => unregisterEnvAdaptor()
|
|
114
118
|
}, [])
|
|
@@ -144,11 +148,7 @@ const ApiExplorer: FC<ApiExplorerProps> = ({
|
|
|
144
148
|
}
|
|
145
149
|
}, [spec, location])
|
|
146
150
|
|
|
147
|
-
|
|
148
|
-
getLoded(exampleLodeUrl, declarationsLodeUrl).then((resp) => setLode(resp))
|
|
149
|
-
}, [exampleLodeUrl, declarationsLodeUrl])
|
|
150
|
-
|
|
151
|
-
const themeOverrides = envAdaptor.themeOverrides()
|
|
151
|
+
const themeOverrides = adaptor.themeOverrides()
|
|
152
152
|
|
|
153
153
|
return (
|
|
154
154
|
<>
|
|
@@ -159,88 +159,86 @@ const ApiExplorer: FC<ApiExplorerProps> = ({
|
|
|
159
159
|
{!initialized ? (
|
|
160
160
|
<Loader message="Initializing" themeOverrides={themeOverrides} />
|
|
161
161
|
) : (
|
|
162
|
-
<ErrorBoundary logError={
|
|
163
|
-
<
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
<
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
>
|
|
189
|
-
{hasNavigation && (
|
|
190
|
-
<Heading
|
|
191
|
-
as="h2"
|
|
192
|
-
fontSize="xsmall"
|
|
193
|
-
fontWeight="bold"
|
|
194
|
-
color="text2"
|
|
195
|
-
>
|
|
196
|
-
API DOCUMENTATION
|
|
197
|
-
</Heading>
|
|
198
|
-
)}
|
|
199
|
-
<IconButton
|
|
200
|
-
size="xsmall"
|
|
201
|
-
shape="round"
|
|
202
|
-
icon={hasNavigation ? <FirstPage /> : <LastPage />}
|
|
203
|
-
label={HEADER_TOGGLE_LABEL}
|
|
204
|
-
onClick={() => toggleNavigation()}
|
|
205
|
-
/>
|
|
206
|
-
</Space>
|
|
162
|
+
<ErrorBoundary logError={adaptor.logError.bind(adaptor)}>
|
|
163
|
+
<Page style={{ overflow: 'hidden' }}>
|
|
164
|
+
{!headless && (
|
|
165
|
+
<Header
|
|
166
|
+
specs={specs}
|
|
167
|
+
spec={spec}
|
|
168
|
+
specDispatch={specDispatch}
|
|
169
|
+
toggleNavigation={toggleNavigation}
|
|
170
|
+
/>
|
|
171
|
+
)}
|
|
172
|
+
<Layout hasAside height="100%">
|
|
173
|
+
<AsideBorder
|
|
174
|
+
borderRight
|
|
175
|
+
isOpen={hasNavigation}
|
|
176
|
+
headless={headless}
|
|
177
|
+
>
|
|
178
|
+
{headless && (
|
|
179
|
+
<>
|
|
180
|
+
<Space
|
|
181
|
+
alignItems="center"
|
|
182
|
+
py="u3"
|
|
183
|
+
px={hasNavigation ? 'u5' : '0'}
|
|
184
|
+
justifyContent={
|
|
185
|
+
hasNavigation ? 'space-between' : 'center'
|
|
186
|
+
}
|
|
187
|
+
>
|
|
207
188
|
{hasNavigation && (
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
/>
|
|
217
|
-
</>
|
|
189
|
+
<Heading
|
|
190
|
+
as="h2"
|
|
191
|
+
fontSize="xsmall"
|
|
192
|
+
fontWeight="bold"
|
|
193
|
+
color="text2"
|
|
194
|
+
>
|
|
195
|
+
API DOCUMENTATION
|
|
196
|
+
</Heading>
|
|
218
197
|
)}
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
198
|
+
<IconButton
|
|
199
|
+
size="xsmall"
|
|
200
|
+
shape="round"
|
|
201
|
+
icon={hasNavigation ? <FirstPage /> : <LastPage />}
|
|
202
|
+
label={HEADER_TOGGLE_LABEL}
|
|
203
|
+
onClick={() => toggleNavigation()}
|
|
204
|
+
/>
|
|
205
|
+
</Space>
|
|
206
|
+
{hasNavigation && (
|
|
207
|
+
<>
|
|
208
|
+
<Divider mb="u3" appearance="light" />
|
|
209
|
+
<SelectorContainer
|
|
210
|
+
ml="large"
|
|
211
|
+
mr="large"
|
|
212
|
+
specs={specs}
|
|
213
|
+
spec={spec}
|
|
214
|
+
specDispatch={specDispatch}
|
|
215
|
+
/>
|
|
216
|
+
</>
|
|
217
|
+
)}
|
|
218
|
+
</>
|
|
219
|
+
)}
|
|
220
|
+
{hasNavigation && (
|
|
221
|
+
<SideNav
|
|
222
|
+
headless={headless}
|
|
235
223
|
specs={specs}
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
setVersionsUrl={setVersionsUrl}
|
|
224
|
+
spec={spec}
|
|
225
|
+
specDispatch={specDispatch}
|
|
239
226
|
/>
|
|
240
227
|
)}
|
|
241
|
-
</
|
|
242
|
-
|
|
243
|
-
|
|
228
|
+
</AsideBorder>
|
|
229
|
+
{oauthReturn && <OAuthScene />}
|
|
230
|
+
{!oauthReturn && spec.api && (
|
|
231
|
+
<AppRouter
|
|
232
|
+
api={spec.api}
|
|
233
|
+
specKey={spec.key}
|
|
234
|
+
specs={specs}
|
|
235
|
+
toggleNavigation={toggleNavigation}
|
|
236
|
+
adaptor={adaptor}
|
|
237
|
+
setVersionsUrl={setVersionsUrl}
|
|
238
|
+
/>
|
|
239
|
+
)}
|
|
240
|
+
</Layout>
|
|
241
|
+
</Page>
|
|
244
242
|
</ErrorBoundary>
|
|
245
243
|
)}
|
|
246
244
|
</ComponentsProvider>
|
|
@@ -249,11 +247,10 @@ const ApiExplorer: FC<ApiExplorerProps> = ({
|
|
|
249
247
|
)
|
|
250
248
|
}
|
|
251
249
|
|
|
252
|
-
|
|
250
|
+
const AsideBorder = styled(Aside)<{
|
|
253
251
|
isOpen: boolean
|
|
254
252
|
headless: boolean
|
|
255
253
|
}>`
|
|
256
254
|
width: ${({ isOpen, headless }) =>
|
|
257
255
|
isOpen ? '20rem' : headless ? '2.75rem' : '0rem'};
|
|
258
256
|
`
|
|
259
|
-
export default ApiExplorer
|
|
File without changes
|
|
@@ -28,19 +28,17 @@ import type { FC } from 'react'
|
|
|
28
28
|
import React, { useEffect, useState } from 'react'
|
|
29
29
|
import {
|
|
30
30
|
RunItProvider,
|
|
31
|
-
defaultConfigurator,
|
|
32
|
-
initRunItSdk,
|
|
33
31
|
loadSpecsFromVersions,
|
|
34
32
|
RunItConfigKey,
|
|
35
33
|
RunItNoConfig,
|
|
34
|
+
initRunItSdk,
|
|
36
35
|
} from '@looker/run-it'
|
|
37
|
-
import type { IAPIMethods } from '@looker/sdk-rtl'
|
|
38
36
|
import type { SpecList } from '@looker/sdk-codegen'
|
|
39
37
|
import { Provider } from 'react-redux'
|
|
38
|
+
import { BrowserAdaptor } from '@looker/extension-utils'
|
|
40
39
|
|
|
41
|
-
import ApiExplorer from './ApiExplorer'
|
|
40
|
+
import { ApiExplorer } from './ApiExplorer'
|
|
42
41
|
import { store } from './state'
|
|
43
|
-
import { StandaloneEnvAdaptor } from './utils'
|
|
44
42
|
import { Loader } from './components'
|
|
45
43
|
|
|
46
44
|
export interface StandaloneApiExplorerProps {
|
|
@@ -48,10 +46,10 @@ export interface StandaloneApiExplorerProps {
|
|
|
48
46
|
versionsUrl: string
|
|
49
47
|
}
|
|
50
48
|
|
|
51
|
-
const
|
|
49
|
+
const browserAdaptor = new BrowserAdaptor(initRunItSdk())
|
|
52
50
|
|
|
53
51
|
const loadVersions = async (current: string) => {
|
|
54
|
-
const data = await
|
|
52
|
+
const data = await browserAdaptor.localStorageGetItem(RunItConfigKey)
|
|
55
53
|
const config = data ? JSON.parse(data) : RunItNoConfig
|
|
56
54
|
let url = config.base_url ? `${config.base_url}/versions` : current
|
|
57
55
|
let response = await loadSpecsFromVersions(url)
|
|
@@ -86,25 +84,19 @@ export const StandaloneApiExplorer: FC<StandaloneApiExplorerProps> = ({
|
|
|
86
84
|
}
|
|
87
85
|
}, [versionsUrl, currentVersionsUrl])
|
|
88
86
|
|
|
89
|
-
const chosenSdk: IAPIMethods = initRunItSdk(defaultConfigurator)
|
|
90
|
-
|
|
91
87
|
return (
|
|
92
88
|
<Provider store={store}>
|
|
93
|
-
<RunItProvider
|
|
94
|
-
sdk={chosenSdk}
|
|
95
|
-
configurator={defaultConfigurator}
|
|
96
|
-
basePath="/api/4.0"
|
|
97
|
-
>
|
|
89
|
+
<RunItProvider basePath="/api/4.0">
|
|
98
90
|
<>
|
|
99
91
|
{specs ? (
|
|
100
92
|
<ApiExplorer
|
|
101
93
|
specs={specs}
|
|
102
|
-
|
|
94
|
+
adaptor={browserAdaptor}
|
|
103
95
|
headless={headless}
|
|
104
96
|
setVersionsUrl={setCurrentVersionsUrl}
|
|
105
97
|
/>
|
|
106
98
|
) : (
|
|
107
|
-
<Loader themeOverrides={
|
|
99
|
+
<Loader themeOverrides={browserAdaptor.themeOverrides()} />
|
|
108
100
|
)}
|
|
109
101
|
</>
|
|
110
102
|
</RunItProvider>
|
|
@@ -29,7 +29,7 @@ import React from 'react'
|
|
|
29
29
|
import { useHistory } from 'react-router-dom'
|
|
30
30
|
import { Markdown } from '@looker/code-editor'
|
|
31
31
|
import { useSelector } from 'react-redux'
|
|
32
|
-
import { getEnvAdaptor } from '
|
|
32
|
+
import { getEnvAdaptor } from '@looker/extension-utils'
|
|
33
33
|
import { selectSearchPattern } from '../../state'
|
|
34
34
|
import { transformURL } from './utils'
|
|
35
35
|
|
|
@@ -48,8 +48,8 @@ export const DocMarkdown: FC<DocMarkdownProps> = ({ source, specKey }) => {
|
|
|
48
48
|
} else if (url.startsWith(`/${specKey}`)) {
|
|
49
49
|
history.push(url)
|
|
50
50
|
} else if (url.startsWith('https://')) {
|
|
51
|
-
const
|
|
52
|
-
|
|
51
|
+
const adaptor = getEnvAdaptor()
|
|
52
|
+
adaptor.openBrowserWindow(url)
|
|
53
53
|
}
|
|
54
54
|
}
|
|
55
55
|
return (
|
|
@@ -27,7 +27,7 @@ import React from 'react'
|
|
|
27
27
|
import { screen } from '@testing-library/react'
|
|
28
28
|
import { findExampleLanguages } from '@looker/sdk-codegen'
|
|
29
29
|
|
|
30
|
-
import {
|
|
30
|
+
import { renderWithLode } from '../../test-utils'
|
|
31
31
|
import { api, examples } from '../../test-data'
|
|
32
32
|
import { DocSdkUsage } from './DocSdkUsage'
|
|
33
33
|
import {
|
|
@@ -47,7 +47,7 @@ describe('DocSdkUsage', () => {
|
|
|
47
47
|
method.operationId,
|
|
48
48
|
1
|
|
49
49
|
)
|
|
50
|
-
|
|
50
|
+
renderWithLode(<DocSdkUsage method={method} />, examples)
|
|
51
51
|
expect(screen.getAllByRole('link')).toHaveLength(PER_PAGE_COUNT)
|
|
52
52
|
|
|
53
53
|
expect(
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
|
|
25
25
|
*/
|
|
26
26
|
import type { FC } from 'react'
|
|
27
|
-
import React, {
|
|
27
|
+
import React, { useState, useEffect } from 'react'
|
|
28
28
|
import {
|
|
29
29
|
Box,
|
|
30
30
|
Card,
|
|
@@ -41,8 +41,7 @@ import { CollapserCard } from '@looker/run-it'
|
|
|
41
41
|
import { InsertDriveFile } from '@styled-icons/material-outlined/InsertDriveFile'
|
|
42
42
|
import { useSelector } from 'react-redux'
|
|
43
43
|
|
|
44
|
-
import { selectSdkLanguage } from '../../state'
|
|
45
|
-
import { LodeContext } from '../../context'
|
|
44
|
+
import { selectSdkLanguage, selectExamplesLode } from '../../state'
|
|
46
45
|
import {
|
|
47
46
|
exampleColumns,
|
|
48
47
|
EMPTY_STRING,
|
|
@@ -61,15 +60,16 @@ interface DocSdkUsageProps {
|
|
|
61
60
|
* links to the source files
|
|
62
61
|
*/
|
|
63
62
|
export const DocSdkUsage: FC<DocSdkUsageProps> = ({ method }) => {
|
|
64
|
-
const
|
|
63
|
+
const examples = useSelector(selectExamplesLode)
|
|
65
64
|
const sdkLanguage = useSelector(selectSdkLanguage)
|
|
66
|
-
let languages = findExampleLanguages(examples, method.name)
|
|
67
65
|
const [page, setPage] = useState(1)
|
|
68
66
|
|
|
69
67
|
useEffect(() => {
|
|
70
68
|
setPage(1)
|
|
71
69
|
}, [method])
|
|
72
70
|
|
|
71
|
+
if (!examples) return <></>
|
|
72
|
+
let languages = findExampleLanguages(examples, method.name)
|
|
73
73
|
if (languages.length === 0) return <></>
|
|
74
74
|
|
|
75
75
|
languages = sortLanguagesByPreference(languages, sdkLanguage)
|
|
@@ -24,13 +24,14 @@
|
|
|
24
24
|
|
|
25
25
|
*/
|
|
26
26
|
import type { FC } from 'react'
|
|
27
|
-
import React
|
|
27
|
+
import React from 'react'
|
|
28
28
|
import type { IMethod, IType } from '@looker/sdk-codegen'
|
|
29
29
|
import { findDeclaration } from '@looker/sdk-codegen'
|
|
30
30
|
import { Icon, Link, Tooltip } from '@looker/components'
|
|
31
31
|
import { IdeFileDocument } from '@looker/icons'
|
|
32
|
+
import { useSelector } from 'react-redux'
|
|
32
33
|
|
|
33
|
-
import {
|
|
34
|
+
import { selectDeclarationsLode } from '../../state'
|
|
34
35
|
|
|
35
36
|
interface DocSourceProps {
|
|
36
37
|
method?: IMethod
|
|
@@ -38,7 +39,7 @@ interface DocSourceProps {
|
|
|
38
39
|
}
|
|
39
40
|
|
|
40
41
|
export const DocSource: FC<DocSourceProps> = ({ method, type }) => {
|
|
41
|
-
const
|
|
42
|
+
const declarations = useSelector(selectDeclarationsLode)
|
|
42
43
|
let sourceLink
|
|
43
44
|
let declaration
|
|
44
45
|
if (declarations) {
|
package/src/components/ErrorBoundary/components/SomethingWentWrong/SomethingWentWrong.spec.tsx
CHANGED
|
@@ -54,6 +54,6 @@ describe('SomethingWentWrong', () => {
|
|
|
54
54
|
|
|
55
55
|
expect(screen.getByText(header)).toBeVisible()
|
|
56
56
|
expect(screen.getByText(actionMessage)).toBeVisible()
|
|
57
|
-
expect(screen.
|
|
57
|
+
expect(screen.getByTitle(altText)).toBeInTheDocument()
|
|
58
58
|
})
|
|
59
59
|
})
|