mirror of
https://github.com/portainer/portainer.git
synced 2025-08-05 13:55:21 +02:00
feat(edge/templates): introduce edge app templates [EE-6209] (#10480)
This commit is contained in:
parent
95d96e1164
commit
e1e90c9c1d
58 changed files with 1142 additions and 365 deletions
|
@ -142,6 +142,16 @@ angular
|
|||
});
|
||||
}
|
||||
|
||||
$stateRegistryProvider.register({
|
||||
name: 'edge.templates',
|
||||
url: '/templates?template',
|
||||
views: {
|
||||
'content@': {
|
||||
component: 'edgeAppTemplatesView',
|
||||
},
|
||||
},
|
||||
});
|
||||
|
||||
$stateRegistryProvider.register(edge);
|
||||
|
||||
$stateRegistryProvider.register(groups);
|
||||
|
|
|
@ -28,6 +28,7 @@ export const componentsModule = angular
|
|||
'error',
|
||||
'horizontal',
|
||||
'isGroupVisible',
|
||||
'required',
|
||||
])
|
||||
)
|
||||
.component(
|
||||
|
|
|
@ -8,8 +8,10 @@ import { WaitingRoomView } from '@/react/edge/edge-devices/WaitingRoomView';
|
|||
import { ListView as EdgeStacksListView } from '@/react/edge/edge-stacks/ListView';
|
||||
import { ListView as EdgeGroupsListView } from '@/react/edge/edge-groups/ListView';
|
||||
|
||||
import { templatesModule } from './templates';
|
||||
|
||||
export const viewsModule = angular
|
||||
.module('portainer.edge.react.views', [])
|
||||
.module('portainer.edge.react.views', [templatesModule])
|
||||
.component(
|
||||
'waitingRoomView',
|
||||
r2a(withUIRouter(withReactQuery(withCurrentUser(WaitingRoomView))), [])
|
||||
|
|
14
app/edge/react/views/templates.ts
Normal file
14
app/edge/react/views/templates.ts
Normal file
|
@ -0,0 +1,14 @@
|
|||
import angular from 'angular';
|
||||
|
||||
import { r2a } from '@/react-tools/react2angular';
|
||||
import { withCurrentUser } from '@/react-tools/withCurrentUser';
|
||||
import { withUIRouter } from '@/react-tools/withUIRouter';
|
||||
import { AppTemplatesView } from '@/react/edge/templates/AppTemplatesView';
|
||||
|
||||
export const templatesModule = angular
|
||||
.module('portainer.app.react.components.templates', [])
|
||||
|
||||
.component(
|
||||
'edgeAppTemplatesView',
|
||||
r2a(withCurrentUser(withUIRouter(AppTemplatesView)), [])
|
||||
).name;
|
|
@ -1,3 +1,4 @@
|
|||
import { fetchFilePreview } from '@/react/portainer/templates/app-templates/queries/useFetchTemplateInfoMutation';
|
||||
import { editor, git, edgeStackTemplate, upload } from '@@/BoxSelector/common-options/build-methods';
|
||||
|
||||
class DockerComposeFormController {
|
||||
|
@ -35,7 +36,7 @@ class DockerComposeFormController {
|
|||
return this.$async(async () => {
|
||||
this.formValues.StackFileContent = '';
|
||||
try {
|
||||
const fileContent = await this.EdgeTemplateService.edgeTemplate(template);
|
||||
const fileContent = await fetchFilePreview(template.id);
|
||||
this.formValues.StackFileContent = fileContent;
|
||||
} catch (err) {
|
||||
this.Notifications.error('Failure', err, 'Unable to retrieve Template');
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue