...when determining if a representation needs to be
refreshed. Avoids representations becoming stale
when switching or navigating among linked instances
of the same domain object.
https://github.com/nasa/openmctweb/issues/302
Update compilation approach for templateLinker to more
closely resemble ng-include; minimizes likelihood of
subtle behavioral differences (e.g. incorrect size
selection for split pane)
Destroy representation scope before adding elements back into
the DOM; avoids having a momentary activation of watches and
listeners on those scopes before they are replaced with newly
compiled content for new scopes.
An mct-representation may have a refresh triggered either by
a key change or a domain object change; both will typically
happen in the same digest cycle. Track what prior state was
an abort refreshes if nothing will change.
Create new scopes on every changeTemplate request, even if
the same template is being viewed; presume that we want a
new instance of the same template. Avoids scope reuse for
cases such as switching from a plot of one object to a
plot of another object.
Handle edge cases (e.g. directive priorities, race conditions)
to ensure that mct-representation and mct-include display correctly
when added to or removed from the DOM.
...of templateLinker into mct-representation. Not working currently
due to prevalence of mct-representation instances with transcluding
directives (hitting a multiple transclusion error.)
Remove usage of ng-include and template from mct-include for
compatibility with element-level transclusion. Has useful
side effect of pre-fetching templates and reducing watch
count.
...to add/remove conditionally depending on the existence of
certain templates.
Note that this currently breaks mct-include due to an incompatibility
between element transclusion and directive templates; see
https://github.com/angular/angular.js/issues/3368.
...from mct-include. Improves behavior of that directive and supports
testing of changes to remove whole elements when inapplicable,
nasa/openmctweb#195.
Invoke the destroy methods of any active representers when
a scope is destroyed; supports time controller, which needs
to accurately track when it has or hasn't been attached to
a view. WTD-1515
Addresses WTD-1506 (context menu does not disappear after
action is chosen); listen for click events on the menu
itself and dismiss the menu when these occur.