1
0
Fork 0
mirror of https://github.com/portainer/portainer.git synced 2025-07-24 07:49:41 +02:00

fix(edge-stacks): various custom template issues [BE-11414] (#189)

This commit is contained in:
Ali 2024-12-09 17:48:34 +13:00 committed by GitHub
parent 16a1825990
commit 97e7a3c5e2
24 changed files with 749 additions and 374 deletions

View file

@ -29,45 +29,36 @@ export function useRenderAppTemplate(
const templateFileQuery = useAppTemplateFile(templateValues.templateId, {
enabled: templateValues.type === 'app',
});
const [renderedFile, setRenderedFile] = useState<string>('');
useEffect(() => {
if (templateFileQuery.data) {
const newFile = renderTemplate(
templateFileQuery.data,
templateValues.variables,
[]
);
if (newFile !== renderedFile) {
setRenderedFile(newFile);
setValues((values) => ({
...values,
fileContent: newFile,
}));
}
}
}, [
renderedFile,
setValues,
template,
templateFileQuery.data,
templateValues.variables,
]);
const [currentTemplateId, setCurrentTemplateId] = useState<
number | undefined
>(templateValues.templateId);
useEffect(() => {
if (template?.Id !== currentTemplateId) {
if (templateValues.type === 'app' && templateFileQuery.data) {
const newTemplateValues = getValuesFromAppTemplate(template);
const newFile = renderTemplate(
templateFileQuery.data,
templateValues.variables,
[]
);
setCurrentTemplateId(template?.Id);
setValues((values) => ({
...values,
...getValuesFromAppTemplate(template),
...newTemplateValues,
fileContent: newFile,
}));
}
}, [currentTemplateId, setValues, template]);
}, [
currentTemplateId,
setValues,
template,
templateFileQuery.data,
templateFileQuery.isInitialLoading,
templateValues.type,
templateValues.variables,
]);
return {
appTemplate: template,