mirror of
https://github.com/portainer/portainer.git
synced 2025-07-28 17:59:45 +02:00
refactor(templates): migrate list view to react [EE-2296] (#10999)
This commit is contained in:
parent
d38085a560
commit
6ff4fd3db2
103 changed files with 2628 additions and 1315 deletions
|
@ -0,0 +1,57 @@
|
|||
import { DeployWidget } from '@/react/portainer/templates/components/DeployWidget';
|
||||
import { CustomTemplate } from '@/react/portainer/templates/custom-templates/types';
|
||||
import { useCustomTemplateFile } from '@/react/portainer/templates/custom-templates/queries/useCustomTemplateFile';
|
||||
|
||||
import { TextTip } from '@@/Tip/TextTip';
|
||||
|
||||
import { useIsDeployable } from './useIsDeployable';
|
||||
import { DeployForm } from './DeployForm';
|
||||
import { TemplateLoadError } from './TemplateLoadError';
|
||||
|
||||
export function StackFromCustomTemplateFormWidget({
|
||||
template,
|
||||
unselect,
|
||||
}: {
|
||||
template: CustomTemplate;
|
||||
unselect: () => void;
|
||||
}) {
|
||||
const isDeployable = useIsDeployable(template.Type);
|
||||
const fileQuery = useCustomTemplateFile(template.Id);
|
||||
|
||||
if (fileQuery.isLoading) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return (
|
||||
<DeployWidget
|
||||
logo={template.Logo}
|
||||
note={template.Note}
|
||||
title={template.Title}
|
||||
>
|
||||
{fileQuery.isError && (
|
||||
<TemplateLoadError
|
||||
creatorId={template.CreatedByUserId}
|
||||
templateId={template.Id}
|
||||
/>
|
||||
)}
|
||||
|
||||
{!isDeployable && (
|
||||
<div className="form-group">
|
||||
<div className="col-sm-12">
|
||||
<TextTip>
|
||||
This template type cannot be deployed on this environment.
|
||||
</TextTip>
|
||||
</div>
|
||||
</div>
|
||||
)}
|
||||
{fileQuery.isSuccess && isDeployable && (
|
||||
<DeployForm
|
||||
template={template}
|
||||
unselect={unselect}
|
||||
templateFile={fileQuery.data}
|
||||
isDeployable={isDeployable}
|
||||
/>
|
||||
)}
|
||||
</DeployWidget>
|
||||
);
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue