dashboard/shell/edit/kontainerDriver.vue

68 lines
1.6 KiB
Vue

<script>
import CreateEditView from '@shell/mixins/create-edit-view';
import CruResource from '@shell/components/CruResource.vue';
import FormValidation from '@shell/mixins/form-validation';
import CreateDriver from '@shell/components/CreateDriver';
import { _CREATE } from '@shell/config/query-params';
export default {
name: 'KontainerDriverEdit',
components: {
CruResource,
CreateDriver
},
mixins: [CreateEditView, FormValidation],
inheritAttrs: false,
data() {
return {
fvFormRuleSets: [
{ path: 'url', rules: ['required', 'url'] },
{ path: 'uiUrl', rules: ['url'] },
{ path: 'checksum', rules: ['alphanumeric'] },
{ path: 'whitelistDomains', rules: ['wildcardHostname'] }
]
};
},
props: {
value: {
type: Object,
required: true,
default: () => {}
},
mode: {
type: String,
default: _CREATE,
},
},
};
</script>
<template>
<CruResource
:mode="mode"
:show-as-form="true"
:can-yaml="false"
:resource="value"
:errors="fvUnreportedValidationErrors"
:validation-passed="fvFormIsValid"
:cancel-event="true"
:done-route="doneRoute"
:apply-hooks="applyHooks"
component-testid="kontainer-driver-edit"
@done="done"
@error="e=>errors = e"
@finish="save"
@cancel="done"
>
<CreateDriver
:mode="mode"
:value="value"
:rules="{url:fvGetAndReportPathRules('url'), uiUrl:fvGetAndReportPathRules('uiUrl'), checksum:fvGetAndReportPathRules('checksum'), whitelistDomains:fvGetAndReportPathRules('whitelistDomains')}"
/>
</CruResource>
</template>