9c4c325e5a
* remove submodules * add api and ui files * update github actions * use sparse checkout * update node setup * update checkout * update docker * change permissions * update mariadb health check * update changelog
225 lines
3.3 KiB
TypeScript
225 lines
3.3 KiB
TypeScript
import { gql } from '@apollo/client/core'
|
|
|
|
export interface FormPageFragment {
|
|
id: string
|
|
show: boolean
|
|
title?: string
|
|
paragraph?: string
|
|
buttonText?: string
|
|
buttons: {
|
|
id: string
|
|
url?: string
|
|
action?: string
|
|
text?: string
|
|
bgColor?: string
|
|
color?: string
|
|
}[]
|
|
}
|
|
|
|
export interface FormFieldOptionFragment {
|
|
id: string
|
|
key?: string
|
|
title?: string
|
|
value: string
|
|
}
|
|
|
|
export interface FormFieldOptionKeysFragment {
|
|
[key: string]: string
|
|
}
|
|
|
|
export interface FormFieldLogicFragment {
|
|
id: string
|
|
action: string
|
|
formula: string
|
|
enabled: boolean
|
|
jumpTo?: string
|
|
require?: boolean
|
|
visible?: boolean
|
|
disable?: boolean
|
|
}
|
|
|
|
export interface FormFieldFragment {
|
|
id: string
|
|
idx?: number
|
|
title: string
|
|
slug?: string
|
|
type: string
|
|
description: string
|
|
required: boolean
|
|
defaultValue?: string
|
|
|
|
options: FormFieldOptionFragment[]
|
|
optionKeys?: FormFieldOptionKeysFragment
|
|
|
|
logic: FormFieldLogicFragment[]
|
|
|
|
rating?: {
|
|
steps?: number
|
|
shape?: string
|
|
}
|
|
}
|
|
|
|
export interface FormHookFragment {
|
|
id: string
|
|
enabled: boolean
|
|
url?: string
|
|
format?: string
|
|
}
|
|
|
|
export interface FormNotificationFragment {
|
|
id: string
|
|
enabled: boolean
|
|
subject?: string
|
|
htmlTemplate?: string
|
|
toField?: string
|
|
toEmail?: string
|
|
fromField?: string
|
|
fromEmail?: string
|
|
}
|
|
|
|
export interface FormFragment {
|
|
id?: string
|
|
title: string
|
|
created: string
|
|
lastModified?: string
|
|
language: string
|
|
showFooter: boolean
|
|
anonymousSubmission: boolean
|
|
isLive: boolean
|
|
fields: FormFieldFragment[]
|
|
hooks: FormHookFragment[]
|
|
notifications: FormNotificationFragment[]
|
|
design: {
|
|
colors: {
|
|
background: string
|
|
question: string
|
|
answer: string
|
|
button: string
|
|
buttonText: string
|
|
}
|
|
font?: string
|
|
layout?: string
|
|
}
|
|
startPage: FormPageFragment
|
|
endPage: FormPageFragment
|
|
admin: {
|
|
id: string
|
|
username: string
|
|
email: string
|
|
}
|
|
}
|
|
|
|
export const FORM_FRAGMENT = gql`
|
|
fragment Form on Form {
|
|
id
|
|
title
|
|
created
|
|
lastModified
|
|
language
|
|
showFooter
|
|
anonymousSubmission
|
|
isLive
|
|
|
|
hooks {
|
|
id
|
|
enabled
|
|
format
|
|
url
|
|
}
|
|
|
|
fields {
|
|
id
|
|
idx
|
|
title
|
|
slug
|
|
type
|
|
description
|
|
required
|
|
defaultValue
|
|
|
|
options {
|
|
id
|
|
key
|
|
title
|
|
value
|
|
}
|
|
|
|
logic {
|
|
id
|
|
action
|
|
formula
|
|
enabled
|
|
jumpTo
|
|
require
|
|
visible
|
|
disable
|
|
}
|
|
rating {
|
|
steps
|
|
shape
|
|
}
|
|
}
|
|
|
|
notifications {
|
|
id
|
|
enabled
|
|
subject
|
|
htmlTemplate
|
|
fromField
|
|
fromEmail
|
|
toField
|
|
toEmail
|
|
}
|
|
|
|
design {
|
|
colors {
|
|
background
|
|
question
|
|
answer
|
|
button
|
|
buttonActive
|
|
buttonText
|
|
}
|
|
font
|
|
layout
|
|
}
|
|
startPage {
|
|
id
|
|
show
|
|
title
|
|
paragraph
|
|
buttonText
|
|
buttons {
|
|
id
|
|
url
|
|
action
|
|
text
|
|
bgColor
|
|
activeColor
|
|
color
|
|
}
|
|
}
|
|
endPage {
|
|
id
|
|
show
|
|
title
|
|
paragraph
|
|
buttonText
|
|
buttons {
|
|
id
|
|
url
|
|
action
|
|
text
|
|
bgColor
|
|
activeColor
|
|
color
|
|
}
|
|
}
|
|
admin {
|
|
id
|
|
username
|
|
email
|
|
}
|
|
}
|
|
`
|