allow to add custom form completed message

This commit is contained in:
Pete Matsyburka
2024-04-05 16:16:30 +03:00
parent f16405ca70
commit 753cbd4d27
9 changed files with 65 additions and 8 deletions
+2 -1
View File
@@ -19,7 +19,8 @@ window.customElements.define('submission-form', class extends HTMLElement {
withTypedSignature: this.dataset.withTypedSignature !== 'false',
authenticityToken: document.querySelector('meta[name="csrf-token"]')?.content,
values: reactive(JSON.parse(this.dataset.values)),
completedButton: JSON.parse(this.dataset.completedButton),
completedButton: JSON.parse(this.dataset.completedButton || '{}'),
completedMessage: JSON.parse(this.dataset.completedMessage || '{}'),
completedRedirectUrl: this.dataset.completedRedirectUrl,
attachments: reactive(JSON.parse(this.dataset.attachments)),
fields: JSON.parse(this.dataset.fields)
+18 -3
View File
@@ -3,16 +3,24 @@
class="mx-auto max-w-md flex flex-col"
dir="auto"
>
<p class="font-medium text-2xl flex items-center space-x-1.5 mx-auto">
<div class="font-medium text-2xl flex items-center space-x-1.5 mx-auto">
<IconCircleCheck
class="inline text-green-600"
:width="30"
:height="30"
/>
<span>
{{ t('form_has_been_completed') }}
{{ completedMessage.title || t('form_has_been_completed') }}
</span>
</p>
</div>
<div
v-if="completedMessage.body"
class="mt-2"
>
<MarkdownContent
:string="completedMessage.body"
/>
</div>
<div class="space-y-3 mt-5">
<a
v-if="completedButton.url"
@@ -92,10 +100,12 @@
<script>
import { IconCircleCheck, IconBrandGithub, IconMail, IconDownload, IconInnerShadowTop, IconLogin } from '@tabler/icons-vue'
import MarkdownContent from './markdown_content'
export default {
name: 'FormCompleted',
components: {
MarkdownContent,
IconCircleCheck,
IconInnerShadowTop,
IconBrandGithub,
@@ -143,6 +153,11 @@ export default {
type: Object,
required: false,
default: () => ({})
},
completedMessage: {
type: Object,
required: false,
default: () => ({})
}
},
data () {
+6
View File
@@ -418,6 +418,7 @@
:is-demo="isDemo"
:attribution="attribution"
:completed-button="completedRedirectUrl ? {} : completedButton"
:completed-message="completedRedirectUrl ? {} : completedMessage"
:with-send-copy-button="withSendCopyButton && !completedRedirectUrl"
:with-download-button="withDownloadButton && !completedRedirectUrl"
:with-confetti="withConfetti"
@@ -641,6 +642,11 @@ export default {
type: Object,
required: false,
default: () => ({})
},
completedMessage: {
type: Object,
required: false,
default: () => ({})
}
},
data () {