Merge pull request #2548 from brkcvn/master

Send To Button Controlling
This commit is contained in:
Burak Civan 2022-07-27 11:31:58 +03:00 committed by GitHub
commit e4399d78e3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 12139 additions and 723 deletions

12822
public/css/app.css vendored

File diff suppressed because it is too large Load Diff

View File

@ -76,6 +76,7 @@ const app = new Vue({
',,' ',,'
], ],
email_template: false, email_template: false,
minor_form_loading: false
} }
}, },
@ -661,13 +662,11 @@ const app = new Vue({
if (response.data.error) { if (response.data.error) {
this.form.loading = false; this.form.loading = false;
this.form.response = response.data; this.form.response = response.data;
} }
}) })
.catch(error => { .catch(error => {
this.form.loading = false; this.form.loading = false;
this.form.onFail(error); this.form.onFail(error);
this.method_show_html = error.message; this.method_show_html = error.message;
@ -946,7 +945,7 @@ const app = new Vue({
let form_html = document.querySelector('form'); let form_html = document.querySelector('form');
if (form_html && form_html.getAttribute('id') == 'document') { if (form_html && form_html.getAttribute('id') == 'document') {
form_html.querySelectorAll('input, textarea, select, ul, li, a, [type="button"]').forEach((element) => { form_html.querySelectorAll('input, textarea, select, ul, li, a').forEach((element) => {
element.addEventListener('click', () => { element.addEventListener('click', () => {
this.onBeforeUnload(); this.onBeforeUnload();
}); });
@ -954,6 +953,7 @@ const app = new Vue({
form_html.querySelectorAll('[type="submit"]').forEach((submit) => { form_html.querySelectorAll('[type="submit"]').forEach((submit) => {
submit.addEventListener('click', () => { submit.addEventListener('click', () => {
this.minor_form_loading = false;
window.onbeforeunload = null; window.onbeforeunload = null;
}); });
}); });
@ -968,9 +968,33 @@ const app = new Vue({
}, },
onSubmitViaSendEmail() { onSubmitViaSendEmail() {
let type_submit_icon = document.querySelector('[type="submit"]').querySelector('i');
let type_submit_span = document.querySelector('[type="submit"]').querySelector('span');
this.form['senddocument'] = true; this.form['senddocument'] = true;
this.minor_form_loading = true;
if (this.form.loading) {
type_submit_icon.classList.add('hidden');
type_submit_span.classList.add('opacity-100');
}
setTimeout(() => {
if (type_submit_icon && type_submit_span) {
type_submit_icon.classList.remove('hidden');
type_submit_span.classList.remove('opacity-100');
}
}, 5000);
this.onSubmit(); this.onSubmit();
setTimeout(() => {
if (Object.keys(this.form.errors.errors.length > 0)) {
this.minor_form_loading = false;
return;
}
}, 200);
}, },
}, },
@ -1110,6 +1134,6 @@ const app = new Vue({
} }
this.form.discount = this.form.discount.replace(',', '.'); this.form.discount = this.form.discount.replace(',', '.');
}, }
}, },
}); });

View File

@ -11,8 +11,8 @@
::disabled="form.loading" ::disabled="form.loading"
@click="onSubmitViaSendEmail" @click="onSubmitViaSendEmail"
> >
<i v-if="form.loading" class="animate-submit delay-[0.28s] absolute w-2 h-2 rounded-full left-0 right-0 -top-3.5 m-auto before:absolute before:w-2 before:h-2 before:-left-3.5 before:rounded-full before:animate-submit before:delay-[0.14s] after:absolute after:w-2 after:h-2 after:-right-3.5 after:rounded-full after:animate-submit after:delay-[0.42s]"></i> <i v-if="minor_form_loading" class="animate-submit delay-[0.28s] absolute w-2 h-2 rounded-full left-0 right-0 -top-3.5 m-auto before:absolute before:w-2 before:h-2 before:-left-3.5 before:rounded-full before:animate-submit before:delay-[0.14s] after:absolute after:w-2 after:h-2 after:-right-3.5 after:rounded-full after:animate-submit after:delay-[0.42s]"></i>
<span :class="[{'opacity-0': form.loading}]"> <span :class="[{'opacity-0': minor_form_loading}]">
{{ trans('general.send_to') }} {{ trans('general.send_to') }}
</span> </span>
</x-button> </x-button>

View File

@ -27,7 +27,7 @@
<div role="tablist" class="flex flex-wrap"> <div role="tablist" class="flex flex-wrap">
@php $is_active = true; @endphp @php $is_active = true; @endphp
<div class="swiper swiper-links"> <div class="swiper swiper-links w-full">
<div class="swiper-wrapper"> <div class="swiper-wrapper">
@foreach ($payment_methods as $key => $name) @foreach ($payment_methods as $key => $name)
@stack('invoice_{{ $key }}_tab_start') @stack('invoice_{{ $key }}_tab_start')

View File

@ -34,7 +34,7 @@
<div role="tablist" class="flex flex-wrap"> <div role="tablist" class="flex flex-wrap">
@php $is_active = true; @endphp @php $is_active = true; @endphp
<div class="swiper swiper-links"> <div class="swiper swiper-links w-full">
<div class="swiper-wrapper"> <div class="swiper-wrapper">
@foreach ($payment_methods as $key => $name) @foreach ($payment_methods as $key => $name)
@stack('invoice_{{ $key }}_tab_start') @stack('invoice_{{ $key }}_tab_start')