mirror of
https://github.com/portainer/portainer.git
synced 2025-07-19 21:39:40 +02:00
refactor(containers): migrate create view to react [EE-2307] (#9175)
This commit is contained in:
parent
bc0050a7b4
commit
d970f0e2bc
71 changed files with 2612 additions and 1399 deletions
|
@ -0,0 +1,58 @@
|
|||
import { parseAccessControlFormData } from '@/react/portainer/access-control/utils';
|
||||
import { ResourceControlOwnership } from '@/react/portainer/access-control/types';
|
||||
import { UserId } from '@/portainer/users/types';
|
||||
import { getDefaultImageConfig } from '@/react/portainer/registries/utils/getImageConfig';
|
||||
|
||||
import { ContainerResponse } from '../../queries/container';
|
||||
|
||||
import { toViewModel as toPortsMappingViewModel } from './PortsMappingField.viewModel';
|
||||
import { Values } from './BaseForm';
|
||||
|
||||
export function toViewModel(
|
||||
config: ContainerResponse,
|
||||
isAdmin: boolean,
|
||||
currentUserId: UserId,
|
||||
nodeName: string,
|
||||
image: Values['image'],
|
||||
enableWebhook: boolean
|
||||
): Values {
|
||||
// accessControl shouldn't be copied to new container
|
||||
|
||||
const accessControl = parseAccessControlFormData(isAdmin, currentUserId);
|
||||
|
||||
if (config.Portainer?.ResourceControl?.Public) {
|
||||
accessControl.ownership = ResourceControlOwnership.PUBLIC;
|
||||
}
|
||||
|
||||
return {
|
||||
accessControl,
|
||||
name: config.Name ? config.Name.replace('/', '') : '',
|
||||
alwaysPull: true,
|
||||
autoRemove: config.HostConfig?.AutoRemove || false,
|
||||
ports: toPortsMappingViewModel(config.HostConfig?.PortBindings || {}),
|
||||
publishAllPorts: config.HostConfig?.PublishAllPorts || false,
|
||||
nodeName,
|
||||
image,
|
||||
enableWebhook,
|
||||
};
|
||||
}
|
||||
|
||||
export function getDefaultViewModel(
|
||||
isAdmin: boolean,
|
||||
currentUserId: UserId,
|
||||
nodeName: string
|
||||
): Values {
|
||||
const accessControl = parseAccessControlFormData(isAdmin, currentUserId);
|
||||
|
||||
return {
|
||||
nodeName,
|
||||
enableWebhook: false,
|
||||
image: getDefaultImageConfig(),
|
||||
accessControl,
|
||||
name: '',
|
||||
alwaysPull: true,
|
||||
autoRemove: false,
|
||||
ports: [],
|
||||
publishAllPorts: false,
|
||||
};
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue