If a user has more or less similar components with similar Valis, the user can use the “Copy” function instead of creating a new component and then adding again the Valis. Valispace provides the feature of copying a particular component along with all the Valis present in it.
To copy a component and all its Valis, right-click the component and select the "Copy" button.
Note that when a user uses the copy function, it creates a replica of the component with the same name but with an alphabetical number. Once the component is replaced, the user can change the name or drag and drop it anywhere within the hierarchy. Once, the component is positioned, Valispace will automatically recalculate all the Valis.
Copy & Connect
If you just copy a component (as mentioned above), the new changes that you make in the original component will not be reflected in the copied component.
However, if you want to ensure that the changes are reflected in the copied component, the “Copy & Connect” feature becomes very useful.
This feature remembers which components belong together and keeps track of their consistency for you.
To create a connected copy, click the "Copy & Connect" button. All changes which you make to this component (values, sub-components, etc.) will affect all of its newly created copies, as long as they are connected. You can see which components are connected in the project tree.
This is how two connected components would look like (1):
Note that within the details section of the components, the lists of the connected copies (2) are shown.
Disconnecting Components and Valis
You can at any time disconnect a Vali or an entire component. For a component, this is done by right-clicking it and subsequently clicking the "Disconnect button". For a Vali, it is done by clicking the connected symbol on the right side of the screen. Disconnecting specific Valis lets you trace components that are almost the same. All other Valis of the same component will still be connected.
For disconnecting a component:
Note: when disconnecting a component, you will get a pop-up if you want to disconnect all of its sub-components.
For disconnecting a Vali:
Connected Copy Logic
The following section is meant as a look-up if you would like to know how Valispace behaves in edge cases before you apply the change.
A short in-depth overview of the connected-copy behaviour for advanced users.
If you create a copy of a component, the two components and all of their Valis are connected
If the component has child components, these are also copied and connected
If you disconnect a component, all of its Valis are also disconnected
If the value of a Vali is changed to a number, all connected Valis will be updated with the same value
Self-references (a Vali referencing another Vali of its own connected component) are maintained for connected Valis (they will also reference another Vali of their own component)
If a Vali is disconnected, no change is applied to its value
If you had three Valis which were connected and you disconnect one, the other Valis still are connected