Skip to content

Commit f3b37a1

Browse files
committed
feat(form): add support for hiding fields via lime.hidden metadata
Add support for `lime.hidden` property in form schemas to hide fields from the UI while preserving their values in form data. Changes: - Add `hidden?: boolean` to LimeSchemaOptions interface - Values are still preserved in form state for all types (objects, arrays, primitives) - Hidden fields don't participate in CSS grid layout Usage: ```python field = fields.Str( metadata={ "lime": { "hidden": True } } ) ```
1 parent dc46693 commit f3b37a1

File tree

3 files changed

+10
-0
lines changed

3 files changed

+10
-0
lines changed

etc/lime-elements.api.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2559,6 +2559,7 @@ export interface LimeSchemaOptions {
25592559
disabled?: boolean;
25602560
// (undocumented)
25612561
help?: string | Partial<Help>;
2562+
hidden?: boolean;
25622563
layout?: LimeLayoutOptions;
25632564
}
25642565

src/components/form/fields/schema-field.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -270,6 +270,10 @@ export class SchemaField extends React.Component<FieldProps> {
270270
}
271271

272272
render() {
273+
if (this.props.schema.lime?.hidden) {
274+
return null;
275+
}
276+
273277
if (hasCustomComponent(this.props.schema)) {
274278
return this.renderCustomComponent(this.props);
275279
}

src/components/form/form.types.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -209,6 +209,11 @@ export interface LimeSchemaOptions {
209209
*/
210210
disabled?: boolean;
211211

212+
/**
213+
* Hide the field from the UI while preserving its value in the form data.
214+
*/
215+
hidden?: boolean;
216+
212217
help?: string | Partial<Help>;
213218
}
214219

0 commit comments

Comments
 (0)