mirror of
https://github.com/portainer/portainer.git
synced 2025-08-04 13:25:26 +02:00
feat(edge/stacks): add app templates to deploy types [EE-6632] (#11070)
This commit is contained in:
parent
edea9e3481
commit
fe6ed55cab
34 changed files with 1293 additions and 482 deletions
|
@ -1,37 +1,22 @@
|
|||
import { useParamState } from '@/react/hooks/useParamState';
|
||||
import { AppTemplatesList } from '@/react/portainer/templates/app-templates/AppTemplatesList';
|
||||
import { useAppTemplates } from '@/react/portainer/templates/app-templates/queries/useAppTemplates';
|
||||
import { TemplateType } from '@/react/portainer/templates/app-templates/types';
|
||||
|
||||
import { PageHeader } from '@@/PageHeader';
|
||||
|
||||
import { DeployFormWidget } from './DeployForm';
|
||||
|
||||
export function AppTemplatesView() {
|
||||
const [selectedTemplateId, setSelectedTemplateId] = useParamState<number>(
|
||||
'template',
|
||||
(param) => (param ? parseInt(param, 10) : 0)
|
||||
);
|
||||
const templatesQuery = useAppTemplates();
|
||||
const selectedTemplate = selectedTemplateId
|
||||
? templatesQuery.data?.find(
|
||||
(template) => template.Id === selectedTemplateId
|
||||
)
|
||||
: undefined;
|
||||
|
||||
return (
|
||||
<>
|
||||
<PageHeader title="Application templates list" breadcrumbs="Templates" />
|
||||
{selectedTemplate && (
|
||||
<DeployFormWidget
|
||||
template={selectedTemplate}
|
||||
unselect={() => setSelectedTemplateId()}
|
||||
/>
|
||||
)}
|
||||
|
||||
<AppTemplatesList
|
||||
templates={templatesQuery.data}
|
||||
selectedId={selectedTemplateId}
|
||||
onSelect={(template) => setSelectedTemplateId(template.Id)}
|
||||
templateLinkParams={(template) => ({
|
||||
to: 'edge.stacks.new',
|
||||
params: { templateId: template.Id, templateType: 'app' },
|
||||
})}
|
||||
disabledTypes={[TemplateType.Container]}
|
||||
fixedCategories={['edge']}
|
||||
storageKey="edge-app-templates"
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue