LogoLogo
Getting StartedDevelopersDeployment GuideGet Help
  • Quick Links
  • Welcome to Form.io
    • Getting Started With Form.io
    • Launch a Form
    • Overview of Form.io
  • Developer Tool Ecosystem
    • PDF Solution
    • Enterprise Form Builder
    • Form View Pro
    • The Security Module
    • Accessibility Compliance Module
    • Developer License
    • SQL Connector - Deprecated
    • Integration Libraries
    • Form.io CLI Tool
  • User Guide
    • Introduction
    • Form.io Developer Portal
    • Teams
    • Projects
      • Project UI
      • Project Settings
      • Stages
      • Multi-Tenancy
    • Resources
      • ResourceJS
    • Forms
      • Form Creation
      • Form Types
      • PDF Forms
      • Embedding a Form
      • Form Revisions
      • Form Settings
    • Form Building
      • Form Builder UI
      • Form Components
        • Component Settings
        • Basic Components
          • Resource as Select Component Data Source
        • Advanced Components
        • Layout Components
        • Data Components
        • Premium Components
          • Nested Forms
        • Custom Components
      • Logic & Conditions
      • Existing Resource Fields
      • Actions
    • Submissions
      • Accessing Submissions
      • Importing Submissions
    • Form.io eSignature - Coming Soon
    • Form.io Reporting Module
    • PDF Template Designer
    • Form View Pro
    • Form Manager
    • Enterprise Form Builder Module
      • Installation
      • User Guide
  • Developer Guide
    • Introduction
      • Application Development
      • API Documentation
    • Form Development
      • Form Renderer
      • Form Builder
      • Form Embedding
      • Form Evaluations
      • Form Templates
      • Custom Components
      • Translations
    • JavaScript Development
      • JavaScript SDK
      • JavaScript Frameworks
      • JavaScript Utilities
    • Authentication and Authorization
      • SAML
      • OAuth
      • LDAP
      • Resource Based Authentication
      • Email Authentication
      • Two-Factor Authentication
    • Roles and Permissions
      • Field Match-Based Access
      • Field-Based Resource Access
      • Group Permissions
    • Integrations
      • Email Integrations
      • File Storage
      • Google Developer Console
      • eSign Integrations
      • Relational Databases
    • Modules
    • Fetch Plugin API
    • CSS Frameworks
    • Offline Mode
    • Audit Logging
  • Deployments
    • Self-Hosted Deployment
      • Local Deployment
        • Local File Storage
      • Kubernetes
      • Cloud Deployment
        • AWS Deployment
          • AWS Lambda
          • Form.io/AWS Elastic Beanstalk End-To-End Encrypted Deployment
        • Azure Deployment
          • Azure App Service
            • Azure MSSQL Connector - Deprecated
          • Azure Virtual Machine
          • Azure Kubernetes Service
          • Set up the DB
        • GCP Deployment
          • GCP Cloud Run
      • On-Premise Deployment
      • Enterprise Server
      • PDF Server
    • Deployment Configurations
      • DNS Configuration
      • Load Balancer Configuration
    • Licenses
      • License Management
      • Library Licenses
    • Portal Base Project
      • Portal SSO
      • Portal Translations
    • Maintenance and Migration
      • Changes to Premium Libraries
  • FAQ
    • FAQ
    • Tutorials & Workflows
      • Password Reset
      • Dynamic Select Filtering
      • Approval Workflow
      • SSO Email Token
      • Embedding A Video
      • Data Source Validation
      • Select Data Source Options
      • Nested Form Workflows
        • Nested Wizard Forms
      • Save as Draft
      • Role-Based Conditions
      • Custom Component
      • Dynamic Radio and Select Box Values
      • Override CKEDITOR
    • Errors
    • Examples
    • License Utilization Checks
  • Contact Us
Powered by GitBook
On this page
  • Getting Started
  • Prerequisites
  • Install the Enterprise Form Builder Module into the App
  • Configure the Application
  • User Authentication
  • Application Alerts
  • Mounting the Form Management UI
  • Submission Management
  • Components
  • Component Overview
  • Overriding Components
  • Available Components
  • FormsComponent
  • FormBuildComponent
  • FormComponent
  • FormViewComponent
  • FormEditComponent
  • FormSettingsComponent
  • FormChangesComponent
  • FormConflictComponent
  • FormDeleteComponent
  • FormSubmissionsComponent
  • FormSubmissionComponent
  • FormSubmissionViewComponent
  • FormSubmissionEditComponent
  • FormSubmissionDeleteComponent

Was this helpful?

  1. User Guide
  2. Enterprise Form Builder Module

Installation

PreviousEnterprise Form Builder ModuleNextUser Guide

Last updated 28 days ago

Was this helpful?

Getting Started

The Enterprise Form Builder Module exists entirely within an application external to the Form.io Platform. The following section will describe the process of embedding the Enterprise Form Builder into an application.

Prerequisites

Before proceeding, ensure the following have been completed:

  1. The Form.io Platform has been deployed and is operational.

  2. A Project has been created that will be used to store forms created within the Enterprise Form Builder Module.

  3. A library license for the Enterprise Form Builder Module has been issued.

  4. A suitable application is available. This walkthrough uses the sample Angular application created in the procedure in the Developer Guide.

The Enterprise Form Builder Module requires the NgModule method of Angular application structure.

When creating a new Angular application, provide the following configuration to ensure it uses the NgModule method:

ng new [appname] --standalone false --routing true

Install the Enterprise Form Builder Module into the App

  1. Use one of the following terminal commands to install the @formio/enterprise-builder module into the application:

npm i --save @formio/js @formio/premium @formio/enterprise-builder

or

yarn add @formio/js @formio/premium @formio/enterprise-builder
  1. Install the framework-specific libraries as follows:

npm i --save @formio/angular

or

yarn add @formio/angular

React is currently not supported.

  1. Set the license key with the following code snippet:

import { Formio } from '@formio/angular';

Formio.license = 'yourLibraryLicenseKey';

Configure the Application

To configure the sample Angular application to use the Enterprise Builder Module, complete the following steps:

  1. Create a configuration file in the format of EnterpriseBuilderConfig as shown below:

app.config.ts
import { EnterpriseBuilderConfig } from '@formio/enterprise-builder/angular';
export const AppConfig: EnterpriseBuilderConfig = {
  license: '-- ENTER YOUR LICENSE HERE --',
  baseUrl: 'https://forms.example.com',
  projectUrl: 'https://forms.example.com/myproject',
  tag: 'common'
};

React is currently not supported.

The following configurations can be provided to the Enterprise Builder Module:

Configuration Options

Property
Description
Example

license

The license for the Enterprise Form Builder module.

baseUrl

The URL for the Form.io Enterprise deployment.

https://forms.example.com

projectUrl

The Project URL to "mount" for form management within this application.

https://forms.example.com/myproject

tag

The tag to use when searching the forms in the Forms index.

common

icons

The icon class to use in the renderer.

bi - (for Bootstrap Icons)

config

An object of configurations to pass to the Formio.config SDK used to configure how the SDK operates.

showData

A boolean to enable the Submission management as part of the mounted form mangement routes and UI.

true - To show the submission management

  1. Tell the application to use this configuration when mounting the module:

Set the FormioAppConfig service to use the extended EnterpriseBuilderAppConfig service, and then provide the ENTERPRISE_BUILDER_CONFIG token as follows:

app.module.ts
import { FormioAppConfig } from '@formio/angular';
import {
    EnterpriseBuilderAppConfig,
    ENTERPRISE_BUILDER_CONFIG
} from '@formio/enterprise-builder/angular';
import { AppConfig } from './app.config';

@NgModule({
    declarations: [...],
    imports: [...],
    providers: [
        ...,
        {provide: ENTERPRISE_BUILDER_CONFIG, useValue: AppConfig},
        {provide: FormioAppConfig, useClass: EnterpriseBuilderAppConfig},
        ...
    ]
})
export class AppModule {}

React is currently not supported.

npm i --save bootstrap bootstrap-icons bootswatch

or

yarn add bootstrap bootstrap-icons bootswatch
  1. Configure the application to use this theme with the following code:

src/styles.scss
@import "bootstrap/scss/bootstrap.scss";
@import "bootswatch/dist/cosmo/variables";
@import "bootswatch/dist/cosmo/bootstrap";
@import "@formio/js/dist/formio.full.css";
@import "bootstrap-icons/font/bootstrap-icons.scss";

React is currently not supported.

Once the configurations and styles in place, the next objective is to set up User Authentication within the application.

User Authentication

User authentication is required to support form management within a project. These steps will configure the project to have a User role that will manage the forms.

  1. From the Developer Portal, open the associated project.

  2. Navigate to Access, then click New Role under the list of existing Project Roles.

  1. Back on the Access page, configure permissions to add the Form Builder to the following Permission groups:

    1. Create All

    2. Read All

    3. Update All

    4. Delete All

Once the Form.io project is appropriately configured, configure authentication within the host application. For this step, please follow the following instructions:

React is currently not supported.

With this route in place, application users can authenticate into the app and subsequently be authenticated into the Form.io Project with the appropriate privileges.

Application Alerts

Once Authentication is in place, the next objective is to bind the Enterprise Form Builder Module alert system with the host application. By default, the Enterprise Form Builder Module uses a base service for when certain alerts are triggered within the EnterpriseBuilderAlerts service.

This example uses the ngx-toastr module to add Toastr notifications to the application.

  1. Install the module with the following commands:

npm i --save ngx-toastr

or

yarn add ngx-toastr
  1. Add the service to the module as follows:

app.module.ts
import { ToastrModule, provideToastr } from 'ngx-toastr';
...
...
@NgModule({
   ...
   imports: [
      ...
      BrowserAnimationsModule,
      ToastrModule.forRoot(),
      ...
   ],
   providers: [
      ...
      provideToastr(),
      ...
   ],
   ...
})
export class AppModule {}
  1. Import the SCSS:

styles.scss
...
@import 'ngx-toastr/toastr';
  1. Create a new wrapper Service for the EnterpriseBuilderAlerts service, like so:

ng g service app.alerts
  1. Extend this service from the EnterpriseBuilderAlerts, and hook it into the ToastrService as follows:

app.alerts.service.ts
import { Injectable } from "@angular/core";
import { ToastrService } from "ngx-toastr";
import { EnterpriseBuilderAlerts, Alert } from '@formio/enterprise-builder/angular';

@Injectable({
    providedIn: 'root'
})
export class AppAlertsService extends EnterpriseBuilderAlerts {
    constructor(public toastr: ToastrService) {
        super();
    }

    override add(alert: Alert) {
        this.toastr[alert.level](alert.message, alert.title);
        super.add(alert);
    }
}
  1. Provide this in the application as follows:

app.module.ts
import { EnterpriseBuilderAlerts, ... } from '@formio/enterprise-builder/angular';
import { AppAlertsService } from './app.alerts.service';
...
@NgModule({
    ...
    providers: [
        ...
        {provide: EnterpriseBuilderAlerts, useClass: AppAlertsService},
        ...
    ],
    ...
})
export class AppModule {}

Now, any alerts triggered by the Enterprise Form Builder Module will show within the host application alert system using the Toastr module.

React is currently not supported.

Mounting the Form Management UI

Next , "mount" the Form Management UI within the host application's routing system. This allows application users to navigate to a specific route within the application to see the Form Building UI provided by the Enterprise Form Builder Module. To do so, complete the following steps:

In Angular, use the @angular/router module for all routing for the Enterprise Form Builder Module. To accomplish this, complete the following steps:

  1. Create a new Angular module that will encapsulate the forms module within the Enterprise Form Builder Module, using the following CLI command:

ng g module forms
  1. Mount the FormRoutes in the RouterModule within the FormsModule using the following code:

forms/forms.module.ts
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { RouterModule } from '@angular/router';
import { 
  FormsModule as EnterpriseBuilderFormsModule,
  FormRoutes
} from '@formio/enterprise-builder/angular';

@NgModule({
  imports: [
    CommonModule,
    EnterpriseBuilderFormsModule,
    RouterModule.forChild(FormRoutes())
  ]
})
export class FormsModule {}

A later section will cover how all of the components at each route can be overridden and modified. For now, leave the defaults.

  1. Mount this module within the routes using the app-routing.module.ts.

app-routing.module.ts
...
const routes: Routes = [
  {
    path: 'auth',
    loadChildren: () => import('./auth/auth.module').then(m => m.AuthModule)
  },
  {
    path: 'forms',
    loadChildren: () => import('./forms/forms.module').then(m => m.FormsModule)
  }
];
...

React is currently not supported.

With the Enterprise Form Builder Module in place, navigate to the "forms" path within the host application (after authenticating) to see the full Form Building and Management UI as follows:

Submission Management

By default, only the Form Management UI components are enabled. To enable the Submission management UI inside of this module, provide the following within the configurations:

app.config.ts
import { EnterpriseBuilderConfig } from '@formio/enterprise-builder/angular';
export const AppConfig: EnterpriseBuilderConfig = {
  license: '-- ENTER YOUR LICENSE HERE --',
  baseUrl: 'https://forms.example.com',
  projectUrl: 'https://forms.example.com/myproject',
  tag: 'common',
  showData: true
};

React is currently not supported.

Once enabled, the following UI is now available within each Form context:

Components

The Enterprise Form Builder Module includes many different Components, mounted at different routes, that can be configured and overridden by the application embedding the module. The following components are included at the following routes:

The path of the route is determined by the host application; ":host" is used to indicate the path at which the module is mounted.

For example, if FormsModule is mounted at the "forms" path within the application, then the placeholder ":host" would be replaced with ":forms".

Component Overview

The following components are available. More detailed information about these components is included at the end of this document.

Component
Description
Route

FormsComponent

Provides the index of forms.

:host

FormBuildComponent

The component used to create a new form, that shows the form builder.

:host/build

FormComponent

The wrapper component for all child route components within the Form context. This provides the navigation UI for the "view", "edit" "delete", "settings" tabs for a specific form.

:host/:formId

FormViewComponent

The component used to view (or use) a form.

:host/:formId/view

FormEditComponent

Used to edit a form, allowing the builder to edit the current Form JSON.

:host/:formId/edit

FormDeleteComponent

Confirms and processes Form deletion.

:host/:formId/delete

FormChangesComponent

Notifies a form user that a form has been changed when they attempt to navigate away from the form context. It allows them to go back to the form context, or discard the form changes.

:host/:formId/changes

FormConflictComponent

Shown to the user when a form conflict is identified between the form being saved to the server, and the form that already exists on the server, indicating that someone has already made changes to the form.

:host/:formId/conflict

FormSettingsComponent

Provides an interface to allow a user to modify the metadata for the current form such as the title, name, path, tags, etc.

:host/:formId/settings

FormSubmissionsComponent

Provides a view of the submissions for a form.

:host/:formId/submission

FormSubmissionComponent

The wrapper component for a Form Submission. Provides the navigation UI for the other child components such as view, edit, and delete. It also provides a button for downloading the submission as a pdf

:host/:formId/submission/:submissionId

FormSubmissionViewComponent

The component used to view an existing submission within a form.

:host/:formId/submission/:submissionId

FormSubmissionEditComponent

Used to allow the user to edit an existing submission.

:host/:formId/submission/:submissionId/edit

FormSubmissionDeleteComponent

The component that provides an interface to the user to delete a submission.

:host/:formId/submission/:submissionId/delete

Overriding Components

Each component can be overridden when the Enterprise Form Builder Module is embedded within the application. The following process is an example of how to override one of the components for the framework:

To override the UI when a Form is being viewed, alter the FormViewComponent by extending it.

  1. Create a new component within the form module using the CLI tool as follows:

ng g component forms/view
  1. This component can now extend the Enterprise Form Builder FormsViewComponent as follows:

forms/view/view.component.ts
import { Component } from '@angular/core';
import { FormViewComponent } from '@formio/enterprise-builder/angular';

@Component({
  selector: 'app-view',
  templateUrl: './view.component.html',
  styleUrl: './view.component.scss'
})
export class ViewComponent extends FormViewComponent {}
  1. Paste the code in the overridden view.component.html like so:

forms/view/view.component.html
<div class="bg-body rounded shadow-sm p-2">
    <formio [src]="service.formUrl()" [form]="service.form"
            (submit)="onSubmit($event)" (error)="onFormError($event)"></formio>
</div>
  1. Modify the component as needed, for example:

forms/view/view.component.html
<h3>{{ service.form.title }}</h3>
<div class="bg-body rounded shadow-sm p-2">
    <formio [src]="service.formUrl()" [form]="service.form"
            (submit)="onSubmit($event)" (error)="onFormError($event)"></formio>
</div>
  1. Tell the Enterprise Form Builder Module to use the modified component instead of the default FormViewComponent. Do this in the Forms module, where FormRoutes is mounted. This function takes a configuration; provide the form view component as follows:

form/form.module.ts
...
import { FormioEmbedModule } from '@formio/angular/embed';
import { FormsModule as EnterpriseBuilderFormsModule, FormRoutes } from '@formio/enterprise-builder/angular';
import { ViewComponent } from './view/view.component';

@NgModule({
  imports: [
    CommonModule,
    FormioEmbedModule,
    EnterpriseBuilderFormsModule,
    RouterModule.forChild(FormRoutes({
      view: ViewComponent
    }))
  ],
  declarations: [
    ViewComponent
  ]
})
export class FormsModule {}

React is currently not supported.

Following a similar process, the following configurations can override any component within the Enterprise Form Builder Module:

FormRoutes({
    index: MyFormsComponent,                // extend FormsComponent
    build: MyFormBuildComponent,            // extend FormBuildComponent
    form: MyFormComponent,                  // extend FormComponent
    view: MyFormViewComponent,              // extend FormViewComponent
    edit: MyFormEditComponent,              // extend FormEditComponent
    delete: MyFormDeleteComponent,          // extend FormDeleteComponent
    changes: MyFormChangesComponent,        // extend FormChangesComponent
    conflict: MyFormConflictComponent,      // extend FormConflictComponent
    settings: MyFormSettingsComponent,      // extend FormSettingsComponent
    submission: {
        index: MySubmissionsComponent,      // extend FormSubmissionsComponent
        submission: MySubmissionComponent,  // extend FormSubmissionComponent
        view: MySubmissionViewComponent,    // extend FormSubmissionViewComponent
        edit: MySubmissionEditComponent,    // extend FormSubmissionEditComponent
        delete: MySubmissionDeleteComponent // extend FormSubmissionDeleteComponent
    }
})

Available Components

The following components are available:

FormsComponent

This component provides the index for the forms.

Route

:host

Code

Template

FormBuildComponent

This component is used to create new forms in your application.

Route

:host/build

Code

Template

FormComponent

The wrapper component for all child route components within the Form context. This provides the UI for the navigation to the "edit", "settings", etc for a specific form.

Route

:host/:formId

Code

Template HTML

FormViewComponent

The component used to view (or use) a form.

Route

:host/:formId/view

Code

Template HTML

FormEditComponent

The component used to edit a form providing the builder to edit the current Form JSON.

Route

:host/:formId/edit

Code

Template HTML

FormSettingsComponent

Provides an interface to allow a user to modify the metadata for the current form in context such as the title, name, path, tags, etc.

Route

:host/:formId/settings

Code

Template HTML

FormChangesComponent

The component shown to a user when a form has been changed and the user attempts to navigate away from the form context. It allows them to either cancel the navigation away, or cancel their form changes.

Route

:host/:formId/changes

Code

Template HTML

FormConflictComponent

This component is shown to the user when a form conflict has been identified between the form being saved to the server and the form that already exists on the server (meaning that someone has saved the form before the user saved their version).

Route

:host/:formId/conflict

Code

Template HTML

FormDeleteComponent

The component used to ask the user if they wish to Delete the form, and if they confirm, performs the deletion of the form.

Route

:host/:formId/delete

Code

Template HTML

FormSubmissionsComponent

Provides an index of the submissions for a provided form context

Route

:host/:formId/submission

Code

Template HTML

FormSubmissionComponent

The wrapper component for a Form Submission in context. Provides the navigation UI for the other child components such as view, edit, and delete.

Route

:host/form/:formId/submission/:submissionId

Code

Template HTML

FormSubmissionViewComponent

The view component to view an existing submissions within a form.

Route

:host/form/:formId/submission/:submissionId

Code

Template HTML

FormSubmissionEditComponent

The component used to allow the user to edit an existing submission.

Route

:host/form/:formId/submission/:submissionId/edit

Code

Template HTML

FormSubmissionDeleteComponent

The component that provides an interface to the user to ask them if they wish to delete a submission or not.

Route

:host/form/:formId/submission/:submission/delete

Code

Template HTML

Ensure that all styles added to the application are supported by the Enterprise Form Builder Module. By default, the Enterprise Form Builder Module supports. To change the CSS template, extend the components (documented further below). To enable Bootstrap, install it within the application as follows:

This uses to offer multiple themes. Alter the theme by changing the word "cosmo" to the preferred theme.

Enter the title Form Builder and click Create Role. Refer to for additional information.

Configure the Project to add these roles to the authenticated users group. Do this using the , or using . Either option requires modifying the User Login form to enable this authentication.

The documentation for setting up Authentication within an Angular application can be found at the .

Typically, each application will have its own "alert" notification systems. For example, an application may chose to use with their applications when a notification is made. The Enterprise Form Builder Module provides a way to inject alerts generated by the Enterprise Form Builder Module into the host application's notification system. To do so, refer to the following example steps:

If not data is visible, or the table is stuck loading, make sure that the appropriate are set within the form.

Open a new browser tab and copy the existing HTML template found in the FormViewComponent by starting with the code available on the Form.io GitHub:

Bootstrap 5
Bootswatch
Angular Authentication Documentation
Toastr notifications
https://github.com/formio/enterprise-builder/blob/main/projects/enterprise-builder/src/form/view/view.component.html
FormsComponent
FormBuild
Component
FormComponent
FormViewComponent
FormEditComponent
FormSettingsComponent
FormChangesComponent
FormConflictComponent
FormDeleteComponent
FormSubmissionsComponent
FormSubmissionComponent
FormSubmissionViewComponent
FormSubmissionEditComponent
FormSubmissionDeleteComponent
https://github.com/formio/enterprise-builder/blob/main/angular/src/projects/enterprise-builder/src/form/forms.component.ts
https://github.com/formio/enterprise-builder/blob/main/angular/src/projects/enterprise-builder/src/form/forms.component.html
https://github.com/formio/enterprise-builder/blob/main/angular/src/projects/enterprise-builder/src/form/build/build.component.ts
https://github.com/formio/enterprise-builder/blob/main/angular/src/projects/enterprise-builder/src/form/build/build.component.html
https://github.com/formio/enterprise-builder/blob/main/angular/src/projects/enterprise-builder/src/form/form/form.component.ts
https://github.com/formio/enterprise-builder/blob/main/angular/src/projects/enterprise-builder/src/form/form/form.component.html
https://github.com/formio/enterprise-builder/blob/main/angular/src/projects/enterprise-builder/src/form/view/view.component.ts
https://github.com/formio/enterprise-builder/blob/main/angular/src/projects/enterprise-builder/src/form/view/view.component.html
https://github.com/formio/enterprise-builder/blob/main/angular/src/projects/enterprise-builder/src/form/edit/edit.component.ts
https://github.com/formio/enterprise-builder/blob/main/angular/src/projects/enterprise-builder/src/form/edit/edit.component.html
https://github.com/formio/enterprise-builder/blob/main/angular/src/projects/enterprise-builder/src/form/settings/settings.component.ts
https://github.com/formio/enterprise-builder/blob/main/angular/src/projects/enterprise-builder/src/form/settings/settings.component.html
https://github.com/formio/enterprise-builder/blob/main/angular/src/projects/enterprise-builder/src/form/changes/changes.component.ts
https://github.com/formio/enterprise-builder/blob/main/angular/src/projects/enterprise-builder/src/form/changes/changes.component.html
https://github.com/formio/enterprise-builder/blob/main/angular/src/projects/enterprise-builder/src/form/conflict/conflict.component.ts
https://github.com/formio/enterprise-builder/blob/main/angular/src/projects/enterprise-builder/src/form/conflict/conflict.component.html
https://github.com/formio/enterprise-builder/blob/main/angular/src/projects/enterprise-builder/src/form/delete/delete.component.ts
https://github.com/formio/enterprise-builder/blob/main/angular/src/projects/enterprise-builder/src/form/delete/delete.component.html
https://github.com/formio/enterprise-builder/blob/main/angular/src/projects/enterprise-builder/src/form/submissions/submissions/submissions.component.ts
https://github.com/formio/enterprise-builder/blob/main/angular/src/projects/enterprise-builder/src/form/submissions/submissions/submissions.component.html
https://github.com/formio/enterprise-builder/blob/main/angular/src/projects/enterprise-builder/src/form/submissions/submission/submission.component.ts
https://github.com/formio/enterprise-builder/blob/main/angular/src/projects/enterprise-builder/src/form/submissions/submission/submission.component.html
https://github.com/formio/enterprise-builder/blob/main/angular/src/projects/enterprise-builder/src/form/submissions/view/view.component.ts
https://github.com/formio/enterprise-builder/blob/main/angular/src/projects/enterprise-builder/src/form/submissions/view/view.component.html
https://github.com/formio/enterprise-builder/blob/main/angular/src/projects/enterprise-builder/src/form/submissions/edit/edit.component.ts
https://github.com/formio/enterprise-builder/blob/main/angular/src/projects/enterprise-builder/src/form/submissions/edit/edit.component.html
https://github.com/formio/enterprise-builder/blob/main/angular/src/projects/enterprise-builder/src/form/submissions/delete/delete.component.ts
https://github.com/formio/enterprise-builder/blob/main/angular/src/projects/enterprise-builder/src/form/submissions/delete/delete.component.html
Form.io Authentication
submission read permissions
Create an Application
SSO configurations
Roles documentation
The FormsComponent UI
The FormBuildComponent UI
FormComponent UI
FormViewComponent UI
FormEditComponent UI
FormSettingsComponent UI
FormChangesComponent UI
FormConflictComponent UI
FormDeleteComponent UI
FormSubmissionsComponent UI
FormSubmissionComponent UI
FormSubmissionViewComponent UI
FormSubmissionEditComponent UI
FormSubmissionDeleteComponent UI