Sha256: d7023b76a1dc76fd34d0f94178e544931a6141875b011034eb37d0382ff6c182

Contents?: true

Size: 1.39 KB

Versions: 1

Compression:

Stored size: 1.39 KB

Contents

<template>
  <Head title="Editing <%= human_name.downcase %>" />

  <div className="mx-auto md:w-2/3 w-full px-8 pt-8">
    <h1 class="font-bold text-4xl">Editing <%= human_name.downcase %></h1>

    <Form
      :<%= singular_table_name %>="<%= singular_table_name %>"
      submitText="Update <%= human_name %>"
      @onSubmit="handleSubmit"
    />

    <Link
      :href="`<%= js_resource_path %>`"
      class="mt-2 rounded-lg py-3 px-5 bg-gray-100 inline-block font-medium"
    >
      Show this <%= human_name.downcase %>
    </Link>
    <Link
      href="<%= js_resources_path %>"
      class="ml-2 rounded-lg py-3 px-5 bg-gray-100 inline-block font-medium"
    >
      Back to <%= human_name.pluralize.downcase %>
    </Link>
  </div>
</template>

<script setup lang="ts">
import { Head, InertiaForm, Link } from '@inertiajs/vue3'
import Form from './Form.vue'
import { <%= inertia_model_form_type %>, <%= inertia_model_type %> } from './types'

const { <%= singular_table_name %> } = defineProps<{ <%= singular_table_name %>: <%= inertia_model_type %> }>()

const handleSubmit = (form: InertiaForm<<%= inertia_model_form_type %>>) => {
  form.transform((data) => ({ <%= singular_table_name %>: data }))
<% if attributes.any?(&:attachments?) -%>
  form.post(`<%= js_resource_path %>`, {
    headers: { 'X-HTTP-METHOD-OVERRIDE': 'put' },
  })
<% else -%>
  form.patch(`<%= js_resource_path %>`)
<% end -%>
}
</script>

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
inertia_rails-3.5.0 lib/generators/inertia_tw_templates/scaffold/templates/vue/Edit.ts.vue.tt