Form

Overview #

Form represents a section of configuration fields in your application. Each form has a key, display name, description, and contains multiple fields.

Purpose:

  • Group related fields together
  • Organize application settings into logical sections
  • Define authorization forms, configuration forms, etc.

Location: orchesty-nodejs-sdk/lib/Application/Model/Form/Form.ts

Constructor #

constructor(key: string, publicName: string)

Parameters:

ParameterTypeDescription
keystringUnique form identifier (used for settings storage)
publicNamestringDisplay name shown to users

Example:

import Form from '../../lib/Application/Model/Form/Form';
import CoreFormsEnum from '../../lib/Application/Base/CoreFormsEnum';

const form = new Form(CoreFormsEnum.AUTHORIZATION_FORM, 'Authorization');

Methods #

addField() #

public addField(field: Field): this

Adds a field to the form.

getFields() #

public getFields(): Field[]

Returns all fields in the form.

getKey() #

public getKey(): string

Returns the form key.

getPublicName() #

public getPublicName(): string

Returns the display name.

setPublicName() #

public setPublicName(value: string): this

Sets the display name.

setDescription() #

public setDescription(value: string): this

Sets form description.

getDescription() #

public getDescription(): string

Returns the description.

setReadOnly() #

public setReadOnly(readOnly: boolean): this

Makes the form read-only.

isReadOnly() #

public isReadOnly(): boolean

Checks if form is read-only.

toArray() #

public toArray(): IForm

Converts to plain object.

Usage Examples #

Basic Form #

import Form from '../../lib/Application/Model/Form/Form';
import Field from '../../lib/Application/Model/Form/Field';
import FieldType from '../../lib/Application/Model/Form/FieldType';
import CoreFormsEnum from '../../lib/Application/Base/CoreFormsEnum';

// Create form
const form = new Form(CoreFormsEnum.AUTHORIZATION_FORM, 'Authorization');
form.setDescription('Enter your API credentials');

// Add fields
const apiKeyField = new Field(FieldType.PASSWORD, 'api_key', 'API Key');
form.addField(apiKeyField);

Complete Form Example #

From: orchesty-nodejs-sdk/test/Application/TestBasicApplication.ts

const hostField = new Field(FieldType.TEXT, 'host', 'Database Host');
const databaseField = new Field(FieldType.TEXT, 'database', 'Database Name');
const portField = new Field(FieldType.NUMBER, 'port', 'Port');

const configForm = new Form('configForm', 'Database Configuration');
configForm.setDescription('Configure database connection settings');
configForm
    .addField(hostField)
    .addField(databaseField)
    .addField(portField);

Common Patterns #

Pattern 1: Authorization Form #

const userField = new Field(FieldType.TEXT, USER, 'Username');
const passwordField = new Field(FieldType.PASSWORD, PASSWORD, 'Password');

const authForm = new Form(CoreFormsEnum.AUTHORIZATION_FORM, 'Authorization');
authForm.addField(userField);
authForm.addField(passwordField);

Pattern 2: Configuration Form with Description #

const endpointField = new Field(FieldType.URL, 'endpoint', 'API Endpoint');
const timeoutField = new Field(FieldType.NUMBER, 'timeout', 'Timeout');

const configForm = new Form('configForm', 'Configuration');
configForm.setDescription('Configure how to connect to the API');
configForm
    .addField(endpointField)
    .addField(timeoutField);

Next Steps #

  1. Field - Add fields to forms
  2. FormStack - Group forms together
  3. FieldType - Available field types
  4. CoreFormsEnum - Standard form keys

See Also #

© 2025 Orchesty Solutions. All rights reserved.