chore: don't fail if the apiRef is missing

Signed-off-by: blam <ben@blam.sh>
This commit is contained in:
blam
2024-12-10 13:04:06 +01:00
parent d4183857e0
commit d1691d60f9
@@ -14,7 +14,7 @@
* limitations under the License.
*/
import { useAsync, useMountEffect } from '@react-hookz/web';
import { useApi, useElementFilter } from '@backstage/core-plugin-api';
import { useApiHolder, useElementFilter } from '@backstage/core-plugin-api';
import { formFieldsApiRef } from '../next';
import { FieldExtensionOptions } from '../extensions';
import {
@@ -33,9 +33,10 @@ export const useCustomFieldExtensions = <
outlet: React.ReactNode,
) => {
// Get custom fields created with FormFieldBlueprint
const formFieldsApi = useApi(formFieldsApiRef);
const apiHolder = useApiHolder();
const formFieldsApi = apiHolder.get(formFieldsApiRef);
const [{ result: blueprintFields }, methods] = useAsync(
formFieldsApi.getFormFields,
formFieldsApi?.getFormFields ?? (async () => []),
[],
);
useMountEffect(methods.execute);