From 7a62a8688ca86eab892eb96ed3637eb63ec6fb24 Mon Sep 17 00:00:00 2001 From: jasquat Date: Fri, 9 Feb 2024 10:21:23 -0500 Subject: [PATCH] also check if user is able to load extensions as well as if they loaded so guest forms can work --- .../src/ContainerForExtensions.tsx | 13 ++++++++++++- spiffworkflow-frontend/src/routes/BaseRoutes.tsx | 8 ++++++-- 2 files changed, 18 insertions(+), 3 deletions(-) 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 (