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.
Don't try to format non-numeric values; rather, just echo them back
directly. This is to allow simple printing of strings when received
on a telemetry subscription. Performed in the context of WTD-644
(since the WARP Server returns many such strings.)
Add priority ordering to loaded extensions in each category;
this allows control over the resulting order of extensions
acquired and used within the application. WTD-590
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.
Expose angular as a dependency which can be included
from AMD-style modules, utilizing the extensions to
the framework layer added to support exposing libraries
from bundles. WTD-568.
Complete tests for the RequireJS configurator, used to
expose libraries beyond bundle boundaries (and, related,
to provide shims for non-AMD libraries.) WTD-568.
Add a configuration step (as part of the resolve phase)
to the framework layer, where bundle-defined paths and shims
are passed to RequireJS configuration. This permits both
the use of non-AMD modules and the exposure of libraries
across bundles. WTD-568.
Add in-line documentation to scripts and methods that
were changed/introduced to support telemetry subscriptions,
which in turn were introduced to support autoflow
tabular views, WTD-614.
Complete test coverage for new scripts added to bundle
platform/commonUI/general in suport of autoflow
tabular views, WTD-614. Specifically, these provide a
directive to watch element sizes, and a controller to
help as an intermediary between getter-setter style
ngModels, and plain assignable ones.
Complete test coverage for new scripts added to bundle
platform/telemetry in support of autoflow tabular views,
WTD-614. Specifically, these implement a telemetrySubscriber
service which can be used to watch for updates to telemetry
values associated with a specific domain object.
Reorganize folder strucutre for tests in bundle
platform/commonUI/general; source folder structure
has been modified to accommodate additional classes
added to support autoflow tabular views, WTD-614,
so test folder needs to be reorganized accordingly
Reorganize sources for bundle platform/commonUI/general;
number of classes here has grown as a consequence of
additions for WTD-614 and so an additional layer of
organization is helpful.
Conflicts:
platform/commonUI/general/bundle.json
platform/commonUI/general/src/directives/MCTResize.js
Add a subscriber service to handle subscribing to
whole sets of telemetry elements via delegation;
this exposes TelemetrySubscription via a service
which can be retrieved via dependency injection.
Supports the use of this variety of subscription
for autoflow tabular views, WTD-614.
Add a utility controller for interacting with
getter-setter style ngModels (similar to ng-model-options
with getterSetter: true, but support for that is not
present in the current version of Angular.) Specifically,
this is used to support the input filter control, which
in turn is used within the autoflow tabular view. WTD-614.
Stop polling for updates to telemetry data from
TelemetryController when scope is destroyed.
Addresses some performance issues observed in
WTD-614, autoflow tabular views (although this
view doesn't use TelemetryController directly,
the continuing of this polling in the background
can slow down updates when it is showing.)
Add ability to subscribe/unsubscribe to streaming
telemetry updates. This may be more performant than
polling in some circumstances, and appears necessary
for good performance of autoflow tabular views,
WTD-614.
Update specs for columns in scrolling list view to reflect
that the formatting of domain/range values for display
has now been moved into a reusable injectable service for
WTD-599.
Move spec for formatting of telemetry values from the
plot bundle to the telemetry bundle, to reflect its
exposure as a reusable service exposed by that bundle.
WTD-599.
Add missing in-line documentation to ScrollingListPopulator;
noticed in the context of work done for WTD-599,
refactoring of time- and value-formatting for telemetry
into a reusable, injectable service.
Expose telemetryFormatter as a service; additionally, fix
some structural issues to make sure this is passed around
as needed among plot components. WTD-599.
Move implementation of formatter used for display
of domain values out of plot, and into the telemetry
bundle, from which it can be exposed as a general-use
service. WTD-599.
Repair tree node auto-expand/highlight behavior, to
address WTD-627. Specifically:
* Check the full path when deciding to highlight,
instead of just the parent. This avoids duplicate highlighting
in cases where the same parent is visible in two subtrees.
* Don't make a redundant getId call in path-checking;
domain object paths have already been mapped to identifier
paths at this point. This avoids erroneous auto-expansion of
the whole tree.
Add skeleton specs for the bottom bar controller (introduced
to handle display of indicators introduced as extensions)
and the Couch indicator (introduced to exercise the above,
and to report connection status relative to the Couch
database.) WTD-608.
Add specs to verify the behavior of PlotPanZoomStackGroup,
which is responsible for synchronizing the domain axis
between multiple sub-plots in a stacked plot view.
WTD-625.
Restore range tick marks; these were lost in refactoring
to support multiple subplots-per-view due to a missed
occurrence of an out-of-date interface usage. WTD-625.
When changes to pan-zoom bounds are made in one
subplot, this will effect the pan-zoom bounds of
other subplots. Ensure this occurs immediately.
WTD-625.
Utilize PlotPanZoomStackGroup; that is, utilize changes
such that a set of pan-zoom stacks can be treated as one,
while their domain axis synchronizes, and their range
axis does not. WTD-625.
Initially implement a synchronized pan/zoom stack,
which maintains the same domain axis bounds for all
subplots in a stacked plot view, but allows each to
have independent range axes. WTD-625.
Change plot style when in stacked plot mode, such that
plots stack as expected. (Without this change, the
gl-plot class's height of 100% will cause all plots to
fill the full vertical space, effectively acting
overlaid.) WTD-625.
Fix issues related to refactoring of view-level
to subplot-level behavior, such that previous
functionality is restored. This refactoring
supports introduction of a stacked-plot mode,
for WTD-625.
Begin refactoring Plot view to support stacked plots;
separate out behavior which needs to occur per-plot
from area which should occur per-view, and add a
handler for the Overlay mode. WTD-625.
Get/set mode from the plot mode switcher; only show
the switcher if there is more than one mode available
(which should only occur when there is more than one
telemetry object in the plot.) WTD-625.
Return the same value from getTelemetryObjects if thes e
haven't changed, to permit this return value to be
watched directly without appearing unstable. Supports
the addition of stacked plot controls, which need
to be conditioned on the number of telemetry objects
present. WTD-625.
Add a commit function to scope from the edit representer;
this avoids issues trying to transparently detect and
persist changes made during edit mode, while still requiring
only minimal action from individual views. WTD-535.
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.
Add entries for new scripts to test suites, to ensure
tests fail until scripts added to support transition
of Layout object/view (WTD-535) have been completed.
WTD-535.
Repair the arguments given to the bottom resize
handle for frames in a layout; previously this had
been parameterized erroneously to function as a
right-hand resize handle. Part of transition of
layout elements, WTD-535.
Perform initial population of scope in mct-representation
at link time, instead of waiting for watches to be fired;
this avoids the need for extra digest iterations, which
Angular detects as indicators of infinite loops (throwing
exceptions accordingly.) Fixed in the context of supporting
transition of editable Layouts, because these errors were
being thrown upon exiting Edit mode. WTD-535.
Add un-minified Angular and source mappings to aid
in debugging infinite digests. These are occurring
when leaving Edit mode, e.g. after editing a Layout,
so this is needed to complete transition of the
Layout object type. WTD-535.
Get a reference to the body element at link-time,
instead of instantiation time, from the mct-drag
directive. Failure to do so causes the reference
to fall out of date when switching between Browse
and Edit mode.
Supports position/sizing interactions for Layout
view, WTD-535.
Auto-expand tree nodes on a timeout, instead of immediately.
This is necessary in cases where auto-expansion several
layers deep occurs; if done immediately, each expansion
will trigger a new digest cycle, which at a certain depth
will appear to Angular as unstable.
Done in the context of WTD-535.
Store changes to the size and position of panels in a
layout to its configuration. The mct-representation
directive (and its constituent parts) is responsible
for detecting and persisting these changes as
appropriate. WTD-535.
Add an EditRepresenter which detects changes to domain
object model or view configuration and, when these
occur, triggers mutation and persistence of the domain
object. (Note that in Edit mode, 'persistence' only
flags an object as dirty; actual persistence does not
occur until the user chooses Save.)
This supports editing of position/size in Layout mode,
and the persistence of those changes. WTD-535