Merge 1.8.1 into master (#4562)
* Transaction fix (#4421) (#4461) * When transaction is active, objects.get should search in dirty object first. * Bugfix/create tree node (#4472) * Transaction fix (#4421) * When transaction is active, objects.get should search in dirty object first. * find insert location prior to adding item to tree * no need to resort * add item should only add to direct descendants * remove unused function * copy composition before sorting * remove unused var * remove master pollution * Revert "remove master pollution" * add item to correct location * Changed descending to ascending in sort order method (#4480) * adding RAF to display layout alphanumerics (#4486) * [Tabs] Sizing of offscreen tabs causing issues (#4444) * [LAD Tables] Use RAF for updating template (#4500) * Fixes LAD rows for string telemetry (#4508) * Fixes LAD rows for string telemetry * saving the object if it was missing (#4471) * 4328 - Maintain reference to a focusedImage if the bounds change (#4545) * WIP: adding assertions to catch negative index state * just testing the flow * SUpdate the image history index to previous selected image * Cleaning up spacing and log statements * Converted focusedImageIndex assignment to ternary and general cleanup * imported objects are not persisting (#4477) * imported objects are not persisting #4470 * disabled karma spec reporter suppressErrorSummary * update version number * Delete importFromJsonAction directory since it was empty
This commit is contained in:
@@ -414,7 +414,7 @@ export default {
|
||||
if (this.indexForFocusedImage !== undefined) {
|
||||
imageIndex = this.initFocusedImageIndex;
|
||||
} else {
|
||||
imageIndex = newSize - 1;
|
||||
imageIndex = newSize > 0 ? newSize - 1 : undefined;
|
||||
}
|
||||
|
||||
this.setFocusedImage(imageIndex, false);
|
||||
@@ -510,6 +510,12 @@ export default {
|
||||
this.timeContext.off("timeContext", this.setTimeContext);
|
||||
}
|
||||
},
|
||||
boundsChange(bounds, isTick) {
|
||||
if (!isTick) {
|
||||
this.previousFocusedImage = this.focusedImage ? JSON.parse(JSON.stringify(this.focusedImage)) : undefined;
|
||||
this.requestHistory();
|
||||
}
|
||||
},
|
||||
expand() {
|
||||
const actionCollection = this.openmct.actions.getActionsCollection(this.objectPath, this.currentView);
|
||||
const visibleActions = actionCollection.getVisibleActions();
|
||||
@@ -670,23 +676,47 @@ export default {
|
||||
this.$refs.thumbsWrapper.scrollLeft = scrollWidth;
|
||||
});
|
||||
},
|
||||
matchIndexOfPreviousImage(previous, imageHistory) {
|
||||
// match logic uses a composite of url and time to account
|
||||
// for example imagery not having fully unique urls
|
||||
return imageHistory.findIndex((x) => (
|
||||
x.url === previous.url
|
||||
&& x.time === previous.time
|
||||
));
|
||||
},
|
||||
setFocusedImage(index, thumbnailClick = false) {
|
||||
let focusedIndex = index;
|
||||
if (!(Number.isInteger(index) && index > -1)) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (this.previousFocusedImage) {
|
||||
// determine if the previous image exists in the new bounds of imageHistory
|
||||
const matchIndex = this.matchIndexOfPreviousImage(
|
||||
this.previousFocusedImage,
|
||||
this.imageHistory
|
||||
);
|
||||
focusedIndex = matchIndex > -1 ? matchIndex : this.imageHistory.length - 1;
|
||||
|
||||
delete this.previousFocusedImage;
|
||||
}
|
||||
|
||||
if (thumbnailClick) {
|
||||
//We use the props till the user changes what they want to see
|
||||
this.initFocusedImageIndex = undefined;
|
||||
}
|
||||
|
||||
if (this.isPaused && !thumbnailClick && this.initFocusedImageIndex === undefined) {
|
||||
this.nextImageIndex = index;
|
||||
this.nextImageIndex = focusedIndex;
|
||||
//this could happen if bounds changes
|
||||
if (this.focusedImageIndex > this.imageHistory.length - 1) {
|
||||
this.focusedImageIndex = index;
|
||||
this.focusedImageIndex = focusedIndex;
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
this.focusedImageIndex = index;
|
||||
this.focusedImageIndex = focusedIndex;
|
||||
|
||||
if (thumbnailClick && !this.isPaused) {
|
||||
this.paused(true);
|
||||
|
||||
Reference in New Issue
Block a user