Skip to main content

Set Object Properties

Set Object Properties: writes declared property values onto an existing client-side object, chosen by id or from the repeater item.

Set Object Properties mutates an object in the client-side object store. The target is chosen by idSource (Id Source): with 'Specify explicitly' (the default) the modelId (Id) input names the object — it accepts either an id string or an object value directly; with 'From repeater' the node walks up the component tree and targets the item object of the closest enclosing Repeater (For Each) item, which is the idiomatic way to edit "this row's" data from inside an item component. When store (Do) fires, every property declared in properties is written from its input, then done (Done) fires, followed by completed. Because everything bound to the same object shares it, the change immediately propagates to Object nodes, repeater item bindings and Component Inputs reading that object.

When to use it

Use it to change one or more properties of an existing client-side object in a single action — especially from inside a repeater item with Id Source 'From repeater'. To create the object first use Create New Object (NewModel); to write a single property continuously prefer an Object (Model2) node's property inputs; for cloud records use Update Record (SetDbModelProperties) plus a save to persist.

At a glance

CategoryData
Type nameSetModelProperties
Available inbrowser, cloud
SSR compatibilitysafe
Provided bynoodl-runtime

Inputs

Values

NameTypeDefaultDescription
idSourceEnum (explicit, foreach)explicitWhere the object comes from: the Id input, or the item of the Repeater this node sits inside
modelIdString (ModelName id)Id of the object to act on, which is created the first time it is named; an Object may be wired here instead, and null or blank binds nothing so Do fails
propertiesStringlistNames the properties to write; each name listed here gets a value input and a type selector
repeaterComponentComponentWhich Repeater to take the item from when several are nested; leave blank to use the nearest one, and ignored unless Id Source is From repeater

Signals

NameTypeDefaultDescription
storeSignalWrites the property values currently on the inputs onto the object named by Id

Outputs

Values

NameTypeDefaultDescription
idStringId of the object this node acted on, which is how a newly created one is picked up downstream

Signals

NameTypeDefaultDescription
completedSignalFires after every invocation, whatever the outcome — wire this to carry on regardless. Failure still fires and still carries its reason, so this cannot hide an error
doneSignalFires once the properties have been written onto the object and anything watching it has been told

Failure outputs

NameTypeDefaultDescription
errorStringWhy no object was bound, and what to set so that one is
failureSignalFires when there was no object to act on, so nothing was written, after the reason has been put on Error

Dynamic ports

This node's port list changes at runtime (declared-port-groups, runtime-discovered); the tables above may be incomplete for a given instance.

Property input ports are created from the "properties" parameter of the object schema being written.

ConditionInputs shownOutputs shown
idSource = explicit OR idSource NOT SETmodelId
idSource = foreachrepeaterComponent

Ports at runtime

Property inputs are runtime-discovered from the properties parameter: each declared name p produces a value input prop-<p> (group Property Values) and an edit-only enum type-<p> (String/Boolean/Number/Date/Array/Object/Any, default Any). Only names present in properties are written on store. Additionally a declared port group hides modelId unless idSource is 'explicit' (or unset). Static values can be supplied as prop-<p> parameters instead of connections. NDA-012: an empty Id (null or an empty string) binds nothing, so Do fires failure with set-object-properties/no-object rather than writing into a process-wide shared record and reporting Done.

Patterns

  • Inside a repeater item component: idSource = 'foreach', a button's click → store: edit the current row's object without passing ids around.
  • Create New Object idmodelId: set further properties on a just-created object.

Watch out for

  • Using it on cloud record objects and expecting the database to change — writes are client-side only; follow with a Save Record action to persist.

Examples

Repeater item writes back to its own record object

Inside a Repeater item component, Repeater Item (For Each Actions) exposes itemId — the id of this row's object. Wiring it into Set Object Properties (SetModelProperties) modelId makes the write target exactly this row: toggling the checkbox stores done on the row's object, and every other node bound to that object updates. The row never needs to know which list it belongs to.

Create New Object, Object, Update Record, Repeater, Variable

Generated

This page is generated from node-catalog-enriched.json. Do not edit it by hand — run npm run docs:nodes to regenerate, and fix the source enrichment instead.