jupiter-dynamic-forms
Version:
Framework-agnostic dynamic form builder for XBRL entrypoints using Web Components. Supports Angular 14+, React, Vue, and vanilla HTML.
73 lines (72 loc) • 2.41 kB
TypeScript
import { LitElement } from 'lit';
import { XBRLFormSchema, FormData, ValidationError, FormState, ComponentConfig } from '../schema/types';
import { XBRLFormInput } from '../schema/xbrl-types';
/**
* JupiterDynamicForm - Refactored Web Component using service-based architecture
*
* Responsibilities (Simplified):
* - Component properties and reactive state
* - Event delegation and coordination
* - Service lifecycle management
* - UI rendering and component lifecycle
* - Service coordination through orchestration
*/
export declare class JupiterDynamicForm extends LitElement {
schema?: XBRLFormSchema;
xbrlInput?: XBRLFormInput;
config: ComponentConfig;
initialData: FormData;
disabled: boolean;
readonly: boolean;
periodStartDate: string;
periodEndDate: string;
private _typedMemberData;
private _columns;
private _currentSchema?;
private _allSections;
private _selectedRoleIds;
private _showFilterDialog;
private _formState;
private _stateManager;
private _preservationService;
private _submissionService;
private _unsubscribeFunctions;
constructor();
private _initializeServices;
private _setupServiceSubscriptions;
connectedCallback(): void;
disconnectedCallback(): void;
private _disposeServices;
willUpdate(changedProperties: Map<string, any>): void;
private _initializeForm;
private _getDefaultSchema;
private _getDefaultColumns;
private _applyRoleFilter;
private _shouldShowFilterButton;
private _handleFilterRolesClick;
private _handleFilterDialogCancel;
private _handleRoleFilterApply;
private _handleFieldChange;
private _handleTypedMemberChange;
private _validateForm;
private _handleSubmit;
private _handleSaveDraft;
private _handleReset;
private _handleSectionExpand;
private _handleConceptExpand;
private _handleColumnRemove;
private _handleColumnAddRequest;
getData(): FormData;
getState(): FormState;
getErrors(): ValidationError[];
setData(data: FormData): void;
reset(): void;
validate(): boolean;
static styles: import('lit').CSSResult;
render(): import('lit-html').TemplateResult<1>;
private _renderFormHeader;
private _renderFormSections;
private _renderFormActions;
private _renderFilterDialog;
}
//# sourceMappingURL=DynamicFormRefactored.d.ts.map