App: support CopyOnChange property in Link

New property status bit 'CopyOnChange' is added for any document object
to publish any property as a 'Configuration' option. When Link is
linked to any object with such property, it will duplicate those
properties and added it Link itself as dynamic properties. If the user
changes any of these dynamic properties, the Link will auto copy the
linked to object and apply the new configuration to it.

The Link has a new property 'LinkCopyOnChange' to allow user to
enable/disable this feature.

Spreadsheet's 'Configuration Table' feature will publish its
configuration property with 'CopyOnChange'.

Currently, once the linked object is copied, it will be independent with
the original object. There is no mechanism to auto sync changes back to
the copy.
This commit is contained in:
Zheng, Lei
2020-01-01 18:19:24 +08:00
committed by Chris Hennes
parent 1f604ec632
commit 4f29e81d0c
5 changed files with 231 additions and 4 deletions

View File

@@ -256,7 +256,8 @@ void Property::setStatusValue(unsigned long status) {
|(1<<PropReadOnly)
|(1<<PropTransient)
|(1<<PropOutput)
|(1<<PropHidden);
|(1<<PropHidden)
|(1<<Busy);
status &= ~mask;
status |= StatusBits.to_ulong() & mask;