mirror of
https://github.com/nasa/openmct.git
synced 2025-06-12 20:28:14 +00:00
[Representation] Handle edge cases
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.
This commit is contained in:
@ -83,11 +83,12 @@ define(
|
||||
|
||||
function populateElement(template) {
|
||||
template(scope, function (innerClone) {
|
||||
element.empty();
|
||||
element.append(innerClone);
|
||||
});
|
||||
}
|
||||
|
||||
function applyTemplate(template) {
|
||||
function applyTemplate(template, templateUrl) {
|
||||
if (template) {
|
||||
populateElement(template);
|
||||
} else {
|
||||
@ -99,7 +100,12 @@ define(
|
||||
if (templateUrl !== activeTemplateUrl) {
|
||||
if (templateUrl) {
|
||||
addElement();
|
||||
self.load(templateUrl).then(applyTemplate);
|
||||
self.load(templateUrl).then(function (template) {
|
||||
// Avoid race conditions
|
||||
if (templateUrl === activeTemplateUrl) {
|
||||
applyTemplate(template);
|
||||
}
|
||||
});
|
||||
} else {
|
||||
removeElement();
|
||||
}
|
||||
|
Reference in New Issue
Block a user