Package-level declarations
Types
Functions
Link copied to clipboard
Link copied to clipboard
fun Form(editor: DocumentEditor, mode: Mode = Mode.fill, maxAllowedSizeMB: Int? = null, onUpload: suspend (ComponentEvent<AbstractFileEditor>) -> List<String>? = null, onCapture: suspend (ComponentEvent<AbstractCompStringEditor>) -> String?? = null, onBlur: (event: ComponentEvent<*>) -> Unit? = null, onFocus: (event: ComponentEvent<*>) -> Unit? = null, license: String? = Secrets.LICENSE, isPageDuplicateEnabled: Boolean = false, isPageDeleteEnabled: Boolean = false, singleClickRowEdit: Boolean = false, onFieldChange: (event: ComponentEvent<*>) -> Unit? = null, navigation: @Composable (navigator: PageCollection, state: PageCollectionState) -> Unit? = { navigator, state ->
if (state.pages.isNotEmpty()) {
JoyPageSelector(
state = state,
isPageDuplicateEnabled = isPageDuplicateEnabled && mode != Mode.readonly,
onDuplicate = { page, keepValues ->
navigator.duplicate(page, page.name, keepValues)
val component = ComponentEvent.PageEvent.PageCreate(page = page)
onFieldChange?.invoke(component)
},
onChange = { val page = navigator.navigate(it) ?: return@JoyPageSelector },
allowDeletingPages = isPageDeleteEnabled && mode != Mode.readonly,
onDelete = {
val isDeleted = navigator.delete(it)
if (!isDeleted) return@JoyPageSelector
val component = ComponentEvent.PageEvent.PageDelete(page = it)
onFieldChange?.invoke(component)
},
)
}
}, error: @Composable (Error) -> Unit = { ErrorFormState(it) }, showUnsupportedFields: Boolean = false, showUnsupportedColumns: Boolean = true, showRowNumbers: Boolean = true, modifier: Modifier = Modifier, arrangement: Arrangement.Vertical = Arrangement.spacedBy(16.dp), contentPadding: PaddingValues = PaddingValues(0.dp), inlineFields: Boolean = false, decoratorConfig: DecoratorConfig = DecoratorConfig.Default)
High-level composable to render a document using a DocumentEditor. Orchestrates page navigation, component rendering and event emission.
Link copied to clipboard
fun rememberDocumentEditor(document: Document, validateSchema: Boolean = true, identity: IdentityGenerator = IdentityGenerator.default, layout: LayoutConfig = LayoutConfig.convenientMobile(), functions: ResolutionResourceBuilder.() -> Unit? = null, onError: ErrorHandler = NoOpErrorHandler, onChange: DocumentEditor.(ChangeEvent) -> Unit? = null): DocumentEditor
Remember a DocumentEditor for a given Document across recompositions. Uses Compose remember with inputs to recreate the editor when they change.
fun rememberDocumentEditor(json: String, validateSchema: Boolean = true, identity: IdentityGenerator = IdentityGenerator.default, layout: LayoutConfig = LayoutConfig.convenientMobile(), functions: ResolutionResourceBuilder.() -> Unit? = null, onError: ErrorHandler = NoOpErrorHandler, onChange: DocumentEditor.(ChangeEvent) -> Unit? = null): DocumentEditor
Remember a DocumentEditor for a JSON string input across recompositions. Parses the JSON and delegates to editorOf with the given parameters.