Options
All
  • Public
  • Public/Protected
  • All
Menu

Namespace FormsAppsTypes

Index

Type aliases

AppleTouchStartupImage: { href: string; media: { deviceHeightPixels: number; devicePixelRatio: number; deviceWidthPixels: number } }

Type declaration

  • href: string
  • media: { deviceHeightPixels: number; devicePixelRatio: number; deviceWidthPixels: number }
    • deviceHeightPixels: number
    • devicePixelRatio: number
    • deviceWidthPixels: number
ApprovalsApp: NewApprovalsApp & _FormsApp
ApprovalsStyles: BaseFormsAppStyles
BaseFormsAppStyles: { contrastColour?: string; customCss?: string; foregroundColour?: string; highlightColour?: string }

Type declaration

  • Optional contrastColour?: string

    Contrast colour applied against the highlight colour

  • Optional customCss?: string

    CSS applied to the Forms App

  • Optional foregroundColour?: string

    Foreground colour of banner in Forms App

  • Optional highlightColour?: string

    Highlight colour for elements that should stand out

BaseFormsAppsDraft: { drafts: FormsAppDraft[]; formsAppId: number }

Type declaration

ButtonConfiguration: { icon?: string; label?: string }

Type declaration

  • Optional icon?: string

    The icon to display on the button. Must be a valid Material Icon code as it appears here: https://fonts.google.com/icons

  • Optional label?: string

    The text to display on the button.

EmailSubscription: { clarificationReceived?: boolean; newApproval?: boolean }

Type declaration

  • Optional clarificationReceived?: boolean
  • Optional newApproval?: boolean
FormStoreApp: NewFormStoreApp & _FormsApp
FormStoreAppForm: { formId: number; groups: string[] }

Type declaration

  • formId: number
  • groups: string[]
FormStoreStyles: BaseFormsAppStyles
FormsAppBaseMenuItem: { icon: string; label: string }

Type declaration

  • icon: string

    Icon to be used for the menu item

  • label: string

    Label for the menu item

FormsAppCPHCMSContentMenuItem: FormsAppBaseMenuItem & { formId: number; isDefault: boolean; listDisplayAttributes: FormsAppCPHCMSContentMenuItemListDisplayAttribute[]; type: "CP_HCMS_CONTENT" }
FormsAppCPHCMSContentMenuItemListDisplayAttributeFormElement: { formElementId: string; type: "FORM_ELEMENT" }

Type declaration

  • formElementId: string
  • type: "FORM_ELEMENT"
FormsAppCPHCMSContentMenuItemListDisplayAttributeMeta: { attribute: "meta.created" | "meta.lastModified" | "meta.id"; type: "CP_HCMS_CONTENT_META" }

Type declaration

  • attribute: "meta.created" | "meta.lastModified" | "meta.id"
  • type: "CP_HCMS_CONTENT_META"
FormsAppConfiguration<T>: { abnLookupAuthenticationGuid?: string; accountAttachmentRetentionInDays?: number; draftsAreShared?: boolean; formsAppEnvironmentId: number; formsAppId: number; formsAttachmentRetention?: { days: number; formId: number }[]; formsHostname: string; formsOAuthClientId?: string | null; isAppUserSignUpEnabled: boolean; isClientLoggingEnabled: boolean; isDraftsEnabled: boolean; isGoogleLoginSupported: boolean; isTrialExpired: boolean; locale: string; logoutRedirectUrl?: string; organisationId: string; pwaSettings?: FormsAppPWASettings | null; recaptchaPublicKey: string; samlIdentityProviderName?: string | null; styles: T; taskGroupInstances?: TaskGroupInstance[]; type: FormsApp["type"]; tz: string; volunteers: { categories: VolunteersFormsApp["categories"]; waiverUrl: VolunteersFormsApp["waiverUrl"] } | undefined }

Type parameters

Type declaration

  • Optional abnLookupAuthenticationGuid?: string
  • Optional accountAttachmentRetentionInDays?: number
  • Optional draftsAreShared?: boolean
  • formsAppEnvironmentId: number
  • formsAppId: number
  • Optional formsAttachmentRetention?: { days: number; formId: number }[]
  • formsHostname: string
  • Optional formsOAuthClientId?: string | null
  • isAppUserSignUpEnabled: boolean
  • isClientLoggingEnabled: boolean
  • isDraftsEnabled: boolean
  • isGoogleLoginSupported: boolean
  • isTrialExpired: boolean
  • locale: string
  • Optional logoutRedirectUrl?: string
  • organisationId: string
  • Optional pwaSettings?: FormsAppPWASettings | null
  • recaptchaPublicKey: string
  • Optional samlIdentityProviderName?: string | null
  • styles: T
  • Optional taskGroupInstances?: TaskGroupInstance[]
  • type: FormsApp["type"]

    Type of the forms app.

  • tz: string
  • volunteers: { categories: VolunteersFormsApp["categories"]; waiverUrl: VolunteersFormsApp["waiverUrl"] } | undefined
FormsAppContainerMenuItem: FormsAppBaseMenuItem & { formIds: number[]; type: "CONTAINER" }
FormsAppFormMenuItem: FormsAppBaseMenuItem & { formId: number; type: "FORM" }
FormsAppHostnameConfiguration: { acm: { certificateArn: string; dnsValidation: { name: string; type: string; value: string } }; cloudFront: null | { distributionDomain: string; distributionId: string }; createdAt: string; formsAppId: number; updatedAt: string }

Type declaration

  • acm: { certificateArn: string; dnsValidation: { name: string; type: string; value: string } }
    • certificateArn: string
    • dnsValidation: { name: string; type: string; value: string }
      • name: string
      • type: string
      • value: string
  • cloudFront: null | { distributionDomain: string; distributionId: string }
  • createdAt: string
  • formsAppId: number
  • updatedAt: string
FormsAppHrefMenuItem: FormsAppBaseMenuItem & { href: string; type: "HREF" }
FormsAppPWASettings: { appleTouchStartupImages?: AppleTouchStartupImage[]; homeScreenIconUrl?: string; homeScreenName?: string; splashScreenName?: string }

Type declaration

  • Optional appleTouchStartupImages?: AppleTouchStartupImage[]
  • Optional homeScreenIconUrl?: string

    The absolute URL to the app icon that is displayed when installed as a progressive web app on mobile devices

  • Optional homeScreenName?: string

    The text beneath the app icon when installed as a progressive web app on mobile devices

  • Optional splashScreenName?: string

    The text on the splash screen when installed as a progressive web app on mobile devices

FormsAppScheduledTasksGroupMenuItem: FormsAppBaseMenuItem & { isDefault: boolean; taskGroupInstanceAllocations: TaskGroupInstanceAllocation[]; type: "SCHEDULED_TASK_GROUPS" }
FormsAppScheduledTasksMenuItem: FormsAppBaseMenuItem & { isDefault: boolean; taskAllocations: { taskId: string }[]; type: "SCHEDULED_TASKS" }
FormsAppScreenMenuItem: FormsAppBaseMenuItem & { isDefault: boolean; isHidden: boolean; type: "FORMS_LIST" | "JOBS" | "DRAFTS" | "PENDING_SUBMISSIONS" | "PROFILE" }
FormsAppSendingAddress: { createdAt: string; emailAddress: string; emailName?: string; formsAppId: number; updatedAt: string }

Type declaration

  • createdAt: string
  • emailAddress: string
  • Optional emailName?: string
  • formsAppId: number
  • updatedAt: string
FormsAppSendingAddressMailgun: { type: IntegrationMailGun["type"] }

Type declaration

FormsAppSendingAddressResponse: { formsAppSendingAddress?: FormsAppSendingAddress; integration: FormsAppSendingAddressSES | FormsAppSendingAddressMailgun }

Type declaration

FormsAppSendingAddressSES: { isEmailVerified: boolean; type: "SES" }

Type declaration

  • isEmailVerified: boolean
  • type: "SES"
FormsAppUser: FormsAppUserBase & { createdAt: string; id: number; isMfaEnabled?: boolean; temporaryPasswordExpiry?: string; updatedAt: string }
FormsAppUserBase: { email: string; firstName?: string; formsAppId: number; groups: string[]; lastName?: string }

Type declaration

  • email: string
  • Optional firstName?: string
  • formsAppId: number
  • groups: string[]
  • Optional lastName?: string
FormsAppUserSubscription: { createdAt: Date; emailSubscriptions?: EmailSubscription; formsAppId: number; pushSubscriptions?: PushSubscription[]; updatedAt: Date; username: string }

Type declaration

FormsAppsDraft: { createdAt: string; updatedAt: string } & BaseFormsAppsDraft
FormsListFormsApp: NewFormsListFormsApp & _FormsApp
FormsListStyles: BaseFormsAppStyles & { buttons?: { cancel?: ButtonConfiguration; cancelPromptNo?: ButtonConfiguration; cancelPromptYes?: ButtonConfiguration; saveDraft?: ButtonConfiguration; submit?: ButtonConfiguration }; logoUrl?: string; menuItems: FormsAppMenuItem[] }

For Forms Apps of type TILES ContainerMenuItem, FormMenuItem and HrefMenuItem can be used in the menuItems array, as well as ScreenMenuItem excluding the FORMS_LIST type.

Form Forms Apps of type FORMS_LIST only ScreenMenuItem and HrefMenuItem can be used in the menuItems array.

Examples

Forms List Apps

{
"foregroundColour": "#454545",
"highlightColour": "#676767",
"contrastColour": "#FFFFFF",
"customCss": ".ob-form { background-color: red; }",
"logoUrl": "https://my-website.com/logo.png",
"menuItems": [
{
"label": "Profile",
"icon": "person",
"type": "PROFILE",
"isHidden": false,
"isDefault": true
},
{
"label": "Google",
"icon": "search",
"type": "HREF",
"href": "https://google.com"
}
]
}

Container Apps

{
"foregroundColour": "#454545",
"highlightColour": "#676767",
"contrastColour": "#FFFFFF",
"customCss": ".ob-form { background-color: red; }",
"logoUrl": "https://my-website.com/logo.png",
"menuItems": [
{
"label": "Forms",
"icon": "dashboard",
"type": "CONTAINER",
"formIds": [1, 2, 3]
},
{
"label": "Compliance Check",
"icon": "search",
"type": "FORM",
"formId": 2
},
{
"label": "Google",
"icon": "search",
"type": "HREF",
"href": "https://google.com"
}
]
}

Volunteer Apps

{
"foregroundColour": "#454545",
"highlightColour": "#676767",
"contrastColour": "#FFFFFF",
"customCss": ".ob-form { background-color: red; }",
"logoUrl": "https://my-website.com/logo.png"
}
NewApprovalsApp: _NewFormsApp & { styles: ApprovalsStyles; type: "APPROVALS" }
NewFormStoreApp: _NewFormsApp & { forms: FormStoreAppForm[]; styles: FormStoreStyles; type: "FORM_STORE" }
NewFormsAppUser: FormsAppUserBase & { generatePassword: boolean; welcomeEmailParameters?: unknown }
NewFormsAppsDraft: BaseFormsAppsDraft & { createdAt?: string; updatedAt?: string }
NewFormsListFormsApp: _NewFormsApp & { draftsAreShared?: boolean; formIds: number[]; slug: string; styles: FormsListStyles; type: "FORMS_LIST" }
NewTilesFormsApp: _NewFormsApp & { draftsAreShared?: boolean; slug: string; styles: TilesStyles; type: "TILES" }
NewVolunteersFormsApp: _NewFormsApp & { categories: { label: string }[]; styles: VolunteersStyles; type: "VOLUNTEERS"; waiverUrl: string | null }
OrganisationAppUser: { email: string; formsAppIds: number[] }

Type declaration

  • email: string
  • formsAppIds: number[]
PushSubscription: { endpoint: string; expirationTime: string | null; keys: { auth: string; p256dh: string } }

Type declaration

  • endpoint: string
  • expirationTime: string | null
  • keys: { auth: string; p256dh: string }
    • auth: string
    • p256dh: string
TaskGroupInstanceAllocation: { allocatedAt: string; taskGroupInstanceId: TaskGroupInstance["taskGroupInstanceId"] }

Type declaration

  • allocatedAt: string

    This property is used to make sure tasks in task group instances are present in the app at the correct times and do not appear as overdue when the start date of the the task is before the date the instance was allocated to the app.

  • taskGroupInstanceId: TaskGroupInstance["taskGroupInstanceId"]

    The identifier of the task group instance

TilesFormsApp: NewTilesFormsApp & _FormsApp
TilesStyles: FormsListStyles
VolunteersFormsApp: NewVolunteersFormsApp & _FormsApp
VolunteersStyles: BaseFormsAppStyles
_FormsApp: { createdAt: string; id: number; updatedAt: string }

Type declaration

  • createdAt: string

    The time the forms app was created, represented by an ISO date

  • id: number

    Identifier of the forms app

  • updatedAt: string

    The time the forms app was last updated, represented by an ISO date

_NewFormsApp: { description?: string; enableAppUserSignup: boolean; enableSamlIdentityProviderLogout?: boolean; formsAppEnvironmentId: number; hasSamlIdentityProvider: boolean; hostname: string; isClientLoggingEnabled: boolean; name: string; notificationEmailAddresses: string[]; oAuthClientId?: string | null; organisationId: string; pwaSettings: FormsAppPWASettings; recaptchaIntegrationDomainId?: string; userSessionValidityInHours?: number; userTokensValidityInMinutes?: number; welcomeEmail?: { body?: string; subject?: string } }

Type declaration

  • Optional description?: string
  • enableAppUserSignup: boolean
  • Optional enableSamlIdentityProviderLogout?: boolean
  • formsAppEnvironmentId: number

    The exact forms app environment identifier the forms app is associated with

  • hasSamlIdentityProvider: boolean

    True when using a SAML identity provider

  • hostname: string
  • isClientLoggingEnabled: boolean
  • name: string

    Name of the forms app

  • notificationEmailAddresses: string[]

    Array of emails addresses to be notified when an error occurs in processing submission events

  • Optional oAuthClientId?: string | null

    The identifier of the OAuth Client for the forms app

  • organisationId: string

    The exact organisation identifier the forms app is associated with

  • pwaSettings: FormsAppPWASettings

    Forms App progressive web app setting

  • Optional recaptchaIntegrationDomainId?: string

    The id of the recaptcha integration to be used

  • Optional userSessionValidityInHours?: number

    The number of hours a user's session will last before they have to log in again. These tokens will get revoked when logging out. Defaults to 30 days.

  • Optional userTokensValidityInMinutes?: number

    The number of minutes a user's token for communicating with servers will last. These tokens do not get revoked when logging out so a shorter time period is desireable. Defaults to 1 hour.

  • Optional welcomeEmail?: { body?: string; subject?: string }

    Forms App custom welcome email properties

    • Optional body?: string

      A mustache template to use when sending welcome emails to new app users.

    • Optional subject?: string

      The subject to use when sending welcome emails to new app users