Skip to content

Commit

Permalink
Renamed submit fieldsets to partials (#631)
Browse files Browse the repository at this point in the history
  • Loading branch information
indykoning authored Nov 5, 2024
1 parent 635a07c commit 00e888a
Show file tree
Hide file tree
Showing 10 changed files with 14 additions and 13 deletions.
9 changes: 5 additions & 4 deletions resources/js/callbacks.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,15 +15,16 @@ Vue.prototype.getCheckoutStep = (stepName) => {
return (config.checkout_steps[config.store_code] ?? config.checkout_steps['default'])?.indexOf(stepName)
}

Vue.prototype.submitFieldsets = async function (form) {
Vue.prototype.submitPartials = async function (form) {
let promises = []
form.querySelectorAll('[data-function]').forEach((fieldset) => {
if (!fieldset?.dataset?.function || !fieldset?.__vue__) {
form.querySelectorAll('[partial-submit]').forEach((element) => {
const partialFn = element?.getAttribute('partial-submit');
if (!partialFn || !element?.__vue__) {
return
}

promises.push(
fieldset.__vue__[fieldset?.dataset?.function]().then((result) => {
element.__vue__[partialFn]().then((result) => {
if (result === false) {
throw new Error()
}
Expand Down
2 changes: 1 addition & 1 deletion resources/views/checkout/pages/credentials.blade.php
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
<div class="w-full rounded bg-highlight p-4 xl:p-8 xl:w-3/4">
<form
v-on:submit.prevent="(e) => {
submitFieldsets(e.target?.form ?? e.target)
submitPartials(e.target?.form ?? e.target)
.then((result) =>
window.app.$emit('checkout-credentials-saved')
&& window.Turbo.visit(window.url('{{ route('checkout', ['step' => 'payment']) }}'))
Expand Down
2 changes: 1 addition & 1 deletion resources/views/checkout/pages/login.blade.php
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
<form
v-if="hasCart"
v-on:submit.prevent="(e) => {
submitFieldsets(e.target?.form ?? e.target)
submitPartials(e.target?.form ?? e.target)
.then((result) =>
window.Turbo.visit(window.url('{{ route('checkout', ['step' => 'credentials']) }}'))
).catch();
Expand Down
2 changes: 1 addition & 1 deletion resources/views/checkout/pages/onestep.blade.php
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
<div v-if="hasCart" class="flex gap-5 max-xl:flex-col" v-cloak>
<div class="w-full bg-highlight rounded p-4 xl:p-8 xl:w-3/4">
<form class="grid gap-5 lg:grid-cols-2" v-on:submit.prevent="(e) => {
submitFieldsets(e.target?.form ?? e.target)
submitPartials(e.target?.form ?? e.target)
.then((result) =>
window.app.$emit('checkout-credentials-saved')
&& window.app.$emit('checkout-payment-saved')
Expand Down
2 changes: 1 addition & 1 deletion resources/views/checkout/pages/payment.blade.php
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
<div v-if="hasCart" v-cloak>
<div class="flex gap-5 max-xl:flex-col">
<form class="w-full rounded bg-highlight h-fit p-4 xl:p-8 xl:w-3/4" v-on:submit.prevent="(e) => {
submitFieldsets(e.target?.form ?? e.target)
submitPartials(e.target?.form ?? e.target)
.then((result) =>
window.app.$emit('checkout-payment-saved')
&& window.app.$emit('placeOrder')
Expand Down
2 changes: 1 addition & 1 deletion resources/views/checkout/steps/billing_address.blade.php
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
mutate-event="setBillingAddressOnCart"
v-slot="{ mutate, variables }"
>
<div data-function="mutate">
<div partial-submit="mutate">
<template v-if="!cart.is_virtual">
<x-rapidez::checkbox v-model="variables.same_as_shipping" v-on:change="window.app.$emit('setBillingAddressOnCart')">
@lang('My billing and shipping address are the same')
Expand Down
2 changes: 1 addition & 1 deletion resources/views/checkout/steps/login.blade.php
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<checkout-login v-slot="checkoutLogin">
<fieldset data-function="go" class="flex flex-col gap-3" v-cloak>
<fieldset partial-submit="go" class="flex flex-col gap-3" v-cloak>
<x-rapidez::input
label="Email"
name="email"
Expand Down
2 changes: 1 addition & 1 deletion resources/views/checkout/steps/payment_method.blade.php
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
mutate-event="setPaymentMethodOnCart"
v-slot="{ mutate, variables }"
>
<div class="flex flex-col gap-3" data-function="mutate">
<div class="flex flex-col gap-3" partial-submit="mutate">
<div class="p-5 border rounded relative bg-white" v-for="(method, index) in cart.available_payment_methods">
<template v-if="false"></template>
@stack('payment_methods')
Expand Down
2 changes: 1 addition & 1 deletion resources/views/checkout/steps/shipping_address.blade.php
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
v-slot="{ mutate, variables }"
v-if="!cart.is_virtual"
>
<fieldset data-function="mutate" v-on:change="function (e) {e.target.closest('fieldset').querySelector(':invalid') === null && mutate().then(() => (cart?.billing_address?.same_as_shipping ?? true) && window.app.$emit('setBillingAddressOnCart'))}">
<fieldset partial-submit="mutate" v-on:change="function (e) {e.target.closest('fieldset').querySelector(':invalid') === null && mutate().then(() => (cart?.billing_address?.same_as_shipping ?? true) && window.app.$emit('setBillingAddressOnCart'))}">
@include('rapidez::checkout.partials.address', ['type' => 'shipping'])
</fieldset>
</graphql-mutation>
2 changes: 1 addition & 1 deletion resources/views/checkout/steps/shipping_method.blade.php
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
v-slot="{ mutate, variables }"
v-if="!cart.is_virtual"
>
<fieldset class="flex flex-col gap-3" data-function="mutate" v-on:change="window.app.$emit('setShippingAddressesOnCart')">
<fieldset class="flex flex-col gap-3" partial-submit="mutate" v-on:change="window.app.$emit('setShippingAddressesOnCart')">
<div class="p-5 border rounded bg-white" v-for="(method, index) in cart.shipping_addresses[0]?.available_shipping_methods">
<x-rapidez::radio
name="shipping_method"
Expand Down

0 comments on commit 00e888a

Please sign in to comment.