@red-hat-developer-hub/backstage-plugin-bulk-import
Version:
55 lines (52 loc) • 2.14 kB
JavaScript
import { useApi, configApiRef } from '@backstage/core-plugin-api';
function useInstructionsConfig() {
const configApi = useApi(configApiRef);
const bulkImportConfig = configApi.getOptionalConfig("bulkImport");
const instructionsEnabled = configApi.getOptionalBoolean("bulkImport.instructionsEnabled") ?? true;
const instructionsDefaultExpanded = configApi.getOptionalBoolean("bulkImport.instructionsDefaultExpanded") ?? true;
let instructionsSteps = configApi.getOptionalConfigArray("bulkImport.instructionsSteps") ?? [];
if (instructionsSteps.length === 0 && bulkImportConfig) {
instructionsSteps = bulkImportConfig.getOptionalConfigArray("instructionsSteps") ?? [];
if (instructionsSteps.length === 0) {
try {
const rawData = bulkImportConfig.data;
if (rawData && rawData.instructionsSteps && Array.isArray(rawData.instructionsSteps)) {
instructionsSteps = rawData.instructionsSteps.map((step) => ({
id: step.id,
text: step.text,
icon: step.icon ? {
type: step.icon.type,
source: step.icon.source
} : void 0
}));
}
} catch (error) {
}
}
}
const enabled = instructionsEnabled;
const defaultExpanded = instructionsDefaultExpanded;
let stepsConfig = instructionsSteps;
if (stepsConfig.length === 0) {
const legacyBulkImportConfig = configApi.getOptionalConfig("bulkImport");
if (legacyBulkImportConfig) {
const instructionsConfig = legacyBulkImportConfig.getOptionalConfig("instructions");
if (instructionsConfig) {
stepsConfig = instructionsConfig.getOptionalConfigArray("steps") ?? [];
}
}
}
const steps = stepsConfig.length > 0 ? stepsConfig.map((stepConfig) => ({
id: stepConfig.getString("id"),
text: stepConfig.getString("text"),
icon: stepConfig.has("icon") ? stepConfig.getString("icon") : undefined
})) : [];
const finalSteps = steps;
return {
enabled,
defaultExpanded,
steps: finalSteps
};
}
export { useInstructionsConfig };
//# sourceMappingURL=useInstructionsConfig.esm.js.map