diff --git a/spiffworkflow-frontend/src/ContainerForExtensions.tsx b/spiffworkflow-frontend/src/ContainerForExtensions.tsx index 8976f2113..22797e41f 100644 --- a/spiffworkflow-frontend/src/ContainerForExtensions.tsx +++ b/spiffworkflow-frontend/src/ContainerForExtensions.tsx @@ -25,6 +25,9 @@ export default function ContainerForExtensions() { const [extensionUxElements, setExtensionNavigationItems] = useState< UiSchemaUxElement[] | null >(null); + const [canLoadExtensions, setCanLoadExtensions] = useState( + null + ); let contentClassName = 'main-site-body-centered'; if (window.location.pathname.startsWith('/editor/')) { @@ -77,10 +80,13 @@ export default function ContainerForExtensions() { return; } if (ability.can('GET', targetUris.extensionListPath)) { + setCanLoadExtensions(true); HttpService.makeCallToBackend({ path: targetUris.extensionListPath, successCallback: processExtensionResult, }); + } else { + setCanLoadExtensions(false); } }; @@ -101,7 +107,12 @@ export default function ContainerForExtensions() { } + element={ + + } /> } /> } /> diff --git a/spiffworkflow-frontend/src/routes/BaseRoutes.tsx b/spiffworkflow-frontend/src/routes/BaseRoutes.tsx index 335c33f69..519beac5f 100644 --- a/spiffworkflow-frontend/src/routes/BaseRoutes.tsx +++ b/spiffworkflow-frontend/src/routes/BaseRoutes.tsx @@ -19,10 +19,14 @@ import { ExtensionUxElementMap } from '../components/ExtensionUxElementForDispla import Extension from './Extension'; type OwnProps = { + canLoadExtensions: boolean | null; extensionUxElements?: UiSchemaUxElement[] | null; }; -export default function BaseRoutes({ extensionUxElements }: OwnProps) { +export default function BaseRoutes({ + canLoadExtensions, + extensionUxElements, +}: OwnProps) { const elementCallback = (uxElement: UiSchemaUxElement) => { return (