Remove vform - working on form public page
This commit is contained in:
34
client/composables/forms/pendingSubmission.js
vendored
Normal file
34
client/composables/forms/pendingSubmission.js
vendored
Normal file
@@ -0,0 +1,34 @@
|
||||
import {hash} from "~/lib/utils.js"
|
||||
import {useStorage} from "@vueuse/core"
|
||||
|
||||
export const pendingSubmission = (form) => {
|
||||
|
||||
const formPendingSubmissionKey = computed(() => {
|
||||
return (form) ? form.form_pending_submission_key + '-' + hash(window.location.href) : ''
|
||||
})
|
||||
|
||||
const enabled = computed(() => {
|
||||
return form?.auto_save ?? false
|
||||
})
|
||||
|
||||
const set = (value) => {
|
||||
if (process.server || !enabled.value) return
|
||||
useStorage(formPendingSubmissionKey.value).value = JSON.stringify(value)
|
||||
}
|
||||
|
||||
const remove = () => {
|
||||
return set(null)
|
||||
}
|
||||
|
||||
const get = (defaultValue = {}) => {
|
||||
if (process.server || !enabled.value) return
|
||||
const pendingSubmission = useStorage(formPendingSubmissionKey.value).value
|
||||
return pendingSubmission ? JSON.parse(pendingSubmission) : defaultValue
|
||||
}
|
||||
|
||||
return {
|
||||
enabled,
|
||||
set,
|
||||
get
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user