Skip to main content
Version: Pre-Released

Remove to All

Apply Rule​

RemoveAllRule

Checks whether the selected parameter is eligible for Delete All, then removes that parameter and any linked parameters defined in the rule overload across the project.

Notification level: Not applicable

KeyValue
IDRemoveAllRule
Translation keyNot applicable

Behavior​

When the user chooses Delete All, RemoveAllRule builds the list of parameters to clear (the selected parameter plus its linked parameters from the overload), then scans every furniture on the current level for each of those parameters. For each matching furniture, the parameter is added to a removal map. The planner then clears all entries in that map.

This level-wide resolution matters for two situations:

ScenarioWhat happens
Same furnitureIf the cabinet exposes both the selected parameter and a linked parameter (for example front and drawerFront on the same unit), both are included in the removal map for that furniture and are cleared together when the user confirms Delete All.
Different furnituresIf the parameter you delete exists on furniture A but a linked parameter exists only on furniture B elsewhere on the level, furniture B is still included in the removal map for the linked parameter. Delete All clears the primary parameter on all relevant furnitures and the linked parameter wherever it is defined.

Linked parameters are not limited to the furniture currently selected in the properties panel.

Bidirectional mapping​

Parameter links are symmetric: there is no fixed primary direction. The overload is a set of keys (parameters that can start a remove-all action), each with an array of other parameters to remove with them.

To get the same behavior when deleting from either side of a pair, declare both parameters as overload keys pointing at each other when needed, for example:

{
"front": ["drawerFront"],
"drawerFront": ["front"]
}

With only "front": ["drawerFront"], deleting front also removes drawerFront wherever it exists on the level; deleting drawerFront uses the overload entry for drawerFront (if present) to determine linked parameters.

Overload Parameter​

The overload is a JSON object. Each key is a parameter publication ID. Each value is an array of other parameter publication IDs to remove together with the key when Delete All runs.

Key nameTypeDefault valueDescription
Parameter publication IDarray of strings–Optional
Parameters to remove in addition to the key parameter when Delete All is confirmed. An empty array means only the key parameter is part of the cascade (no extra linked parameters).

Note:
Only parameters that appear as keys in the overload are in scope for RemoveAllRule. Parameters not listed in the overload do not use this rule for Delete All.

Sample​

{
"plinthOption": [],
"worktopOption": [],
"front": ["drawerFront"],
"drawerFront": ["front"]
}

Using the sample above:

  • Plinth and worktop: the overload lists the parameter with an empty linked array. Delete All is available when the usual trigger conditions below are met; only that linear or parameter is removed project-wide (no extra linked parameters).
  • Front and drawerFront: deleting either parameter with Delete All also removes the other wherever both parameters exist on the level, including on the same cabinet or on different furnitures.

Trigger Conditions​

The Delete All entry appears in the product properties panel only when Remove All is enabled for the app (enableRemoveAll), the parameter is a key in the RemoveAllRule overload, and the planner detects that a bulk delete would affect more than the current context.

How that detection works depends on the parameter type:

Furniture product parameters​

Examples: front, drawerFront, or any other product parameter edited from the properties panel (not a linear row).

Delete All is shown when more than one furniture on the current level has that parameter set to a value (a selected product or true), excluding automatic fillers.

Worktops​

Delete All is shown when the level has at least one other worktop besides the worktop(s) tied to the furniture you are editing (other non-deleted worktops still exist on the level).

Wall panels​

Delete All is shown when the level has at least one other wall panel besides the wall panel(s) tied to the current selection (other non-deleted wall panels still exist on the level).

Plinths, deco strips, risers, cornices, and similar furniture-bound linear options​

Examples: plinthOption, decoStripOption, riserOption, corniceOption.

Delete All uses the same rule as furniture product parameters: more than one furniture on the level has that option active (set to a product or true), excluding automatic fillers.

After the user chooses Delete All​

The overload may still remove linked parameters on other furnitures even when only one furniture had the parameter you started from. That cross-furniture removal does not by itself make Delete All appear in the menu; the conditions above must already be met.