@camera.ui/sdk / storage / JsonBaseSchema
Interface: JsonBaseSchema<T>
Defined in: storage/index.ts:92
Base schema with callbacks, the full schema interface. Adds storage and callback options for dynamic behavior.
Example
// Persisted number with onSet hook for live re-config:
{ type: 'number', key: 'pollSec', title: 'Poll (seconds)', description: '',
defaultValue: 30, minimum: 5, maximum: 300, step: 5, store: true,
onSet: async (newValue, oldValue) => this.reschedule(newValue) }
// Action button (no value stored, just fires on click):
{ type: 'button', key: 'reset', title: 'Reset to defaults', description: '',
color: 'danger', onSet: async () => this.resetDefaults() }Extends
Extended by
Type Parameters
T
T extends string | string[] | number | number[] | boolean | boolean[] = any
Properties
condition?
optionalcondition?:SchemaCondition|SchemaCondition[]
Defined in: storage/index.ts:73
Condition for conditional field visibility. Array = all must be true (AND).
Inherited from
JsonBaseSchemaWithoutCallbacks.condition
defaultValue?
optionaldefaultValue?:T
Defined in: storage/index.ts:71
Default value when not set.
Inherited from
JsonBaseSchemaWithoutCallbacks.defaultValue
description
description:
string
Defined in: storage/index.ts:52
Field description/help text.
Inherited from
JsonBaseSchemaWithoutCallbacks.description
group?
optionalgroup?:string
Defined in: storage/index.ts:54
Optional group name for organizing fields.
Inherited from
JsonBaseSchemaWithoutCallbacks.group
hidden?
optionalhidden?:boolean
Defined in: storage/index.ts:63
Hide field from UI.
Inherited from
JsonBaseSchemaWithoutCallbacks.hidden
key
key:
string
Defined in: storage/index.ts:48
Unique field identifier.
Inherited from
JsonBaseSchemaWithoutCallbacks.key
onGet?
optionalonGet?: () =>Promise<any>
Defined in: storage/index.ts:98
Callback to get computed value.
Returns
Promise<any>
onSet?
optionalonSet?: (newValue,oldValue) =>Promise<void>
Defined in: storage/index.ts:96
Callback after a write. setValue fires it whether or not the value changed; setConfig fires it only for keys that changed.
Parameters
newValue
any
oldValue
any
Returns
Promise<void>
placeholder?
optionalplaceholder?:string
Defined in: storage/index.ts:69
Placeholder text for empty fields.
Inherited from
JsonBaseSchemaWithoutCallbacks.placeholder
readonly?
optionalreadonly?:boolean
Defined in: storage/index.ts:67
Make field read-only.
Inherited from
JsonBaseSchemaWithoutCallbacks.readonly
required?
optionalrequired?:boolean
Defined in: storage/index.ts:65
Mark field as required.
Inherited from
JsonBaseSchemaWithoutCallbacks.required
store?
optionalstore?:boolean
Defined in: storage/index.ts:94
Whether to persist this field to storage.
title
title:
string
Defined in: storage/index.ts:50
Display title.
Inherited from
JsonBaseSchemaWithoutCallbacks.title
type
type:
JsonSchemaType
Defined in: storage/index.ts:46
Field type.