New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

@optimajet/workflow-forms-viewer

Package Overview
Dependencies
Maintainers
2
Versions
8
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@optimajet/workflow-forms-viewer

A lightweight React component for rendering and executing forms created with Workflow Engine. This library provides a complete solution for displaying forms, handling user input, validation, and form submission.

latest
npmnpm
Version
20.0.7
Version published
Weekly downloads
15
-85.15%
Maintainers
2
Weekly downloads
 
Created
Source

@optimajet/workflow-forms-viewer

A lightweight React component for rendering and executing forms created with Workflow Engine. This library provides a complete solution for displaying forms, handling user input, validation, and form submission.

Features

  • JSON-First Rendering — Render forms from JSON definitions
  • Multi-Form Support — Display multiple forms with tabbed navigation
  • Custom Tabs — Provide your own tab renderer for custom UI
  • Form Execution — Built-in form submission and execution handling
  • Save Draft — Support for saving form data as drafts
  • Validation — Built-in form validation with Zod
  • RSuite Integration — Pre-styled components based on RSuite
  • Flexible Architecture — Customizable form viewer properties
  • Error Handling — Comprehensive error handling and reporting

Installation

npm install @optimajet/workflow-forms-viewer

Dependencies

This package requires the following peer dependencies:

npm install react

Quick Start

import React from 'react'
import {Form, FormKey, FormsViewer} from '@optimajet/workflow-forms-viewer'

export function UserForm({apiUrl}: AppProps) {

  const {id} = useParams()
  const {selectedUser} = useAppState()
  const showError = useShowError()

  const getForm = useCallback(async (formKey: FormKey) => {
  ...
  }, [apiUrl])

  const getForms = useCallback(async () => {
  ...
  }, [apiUrl, id, selectedUser])

  const saveForm = useCallback(async (processId: string, formKey: FormKey, data: Record<string, unknown>) => {
  ...
  }, [apiUrl, selectedUser])

  const executeForm = useCallback(async (processId: string, formKey: FormKey, commandName: string, data: Record<string, unknown>) => {
  ...
  }, [apiUrl, selectedUser])

  return <FormsViewer getForm={getForm} getForms={getForms} onError={showError} onSuccess={showSuccess} saveForm={saveForm}
                      executeForm={executeForm}
  />

}

API Reference

FormsViewerProps

PropertyTypeRequiredDescription
getForms() => Form[] | Promise<Form[]>YesHandler to retrieve list of available forms
getForm(formKey: FormKey) => string | Promise<string>YesHandler to retrieve form definition by key
saveForm(processId: string, formKey: FormKey, data: Record<string, unknown>) => SaveFormResponse | Promise<SaveFormResponse>YesHandler to save form data (draft)
executeForm(processId: string, form: FormKey, commandName: string, data: Record<string, unknown>) => ExecuteFormResponse | Promise<ExecuteFormResponse>YesHandler to execute/submit form
onError(error: string | Error) => voidYesError handler callback
onSuccess(message: string) => voidYesSuccess handler callback
tabsRenderer(props: TabsRendererProps) => React.ReactElementNoCustom tabs renderer component
formViewerPropsOmittedFormViewerPropsNoAdditional props for FormViewer component

Built With

  • @react-form-builder/core — Core form engine
  • @react-form-builder/components-rsuite — RSuite components
  • RSuite — UI component library

Documentation

Support

For issues and questions:

License

MIT

Author

Optimajet

Keywords

react

FAQs

Package last updated on 19 Mar 2026

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts