Update capability interfaces for persistence and mutation to
track timestamps of both changes and persistence calls.
Helps distinguish when refreshes should be allowed, which in
turn will be used to support Overwrite behavior when
Save conflicts are detected. WTD-1033.
Act as if the object being edited is the root object when
in Edit mode, except in the Library pane (which has its own
means of getting the real root object.) WTD-922.
Use a fast-promise approach (instead of ) when handling
mutation of domain objects, to ensure that mutation resolves
during the current tick. Needed for drag interactions of
WTD-931.
Add a general-purpose capability for typed relationships.
Unlike composition, these do not appear in the tree, but
instead appear only in user interfaces which specifically
look for these typed relationships. WTD-1007.
Add a service to wrap Date.now(), such that this can be injected
(simplifying testing of scripts which need to respond to system
time.) Specifically supports staleness indication, WTD-660.
Fix bug when filtering out namespaced identifiers when reading
domain object models from persistence; filter operation was
breaking the logic of pairing ids back to loaded models by
index. Corrects behavior introduced to reduce latency when
loading the telemetry hierarchy, part of WARP Server
integration, WTD-644.
Add clarifying comments to reflect changes to
procedure used for loading models from persistence
introduced in support of reducing latency in loading
domain objects introduced by the WARP Server adapter,
WTD-644.
Work around issues in platform which manifest as bugs or
latency issues when attempting to visualize telemetry
from the WARP Server. Specifically:
* Handle the possibility that there is no matching
representation for an object from EditRepresenter.
* Don't attempt to look up colon-separated domain object
identifiers from persistence. This is a workaround to
avoid latency issues from excessive persistence calls;
filed WTD-659 to improve this solution.
Changes made to support resolution of WTD-644.
Allow type definitions to restrict views; this specifically
supports the restriction of autoflow tabular views to packets,
and the omission of scrolling/plot views as applicable to
packets. WTD-644.
Warn if a view definition does not include a key,
and prune it from the list of views. This avoids
an underlying cause of WTD-628, which is fixed for
plots specifically in the previous commit but could
recur if other views were to omit keys.
Fix an edge case in the mutation capability where model
data could be lost during a mutation; this supports
auto-mutate/persist functionality for representations,
which allows Layout editing (transitioned for WTD-535)
to be persisted thereby.
Provide initial empty arrays for type properties that
are array-like; this is needed to support two-way data
binding for composite controls. Part of ongoing integration
of forms component, WTD-593.
Work around quirk of require; it does not like to see
the same script twice with and with a .js, so remove
the .js extension from the bundle definition. WTD-573.