diff --git a/packages/frontend-2/components/viewer/AnchoredPoints.vue b/packages/frontend-2/components/viewer/AnchoredPoints.vue index dcffc66cd..36f6c013f 100644 --- a/packages/frontend-2/components/viewer/AnchoredPoints.vue +++ b/packages/frontend-2/components/viewer/AnchoredPoints.vue @@ -124,7 +124,9 @@ :class="showFollowerMessage ? 'top-24' : 'top-14'" > - + @@ -163,7 +165,8 @@ const { users } = useViewerUserActivityTracking({ anchoredPointsParentEl: parent const { isOpenThread, open, closeAllThreads } = useThreadUtilities() const { filters: { hasAnyFiltersApplied }, - hasAnyIsolationsApplied + hasAnyIsolationsApplied, + hasAnyHiddenApplied } = useFilterUtilities({ state: viewerState }) const canPostComment = useCheckViewerCommentingAccess() const breakpoints = useBreakpoints(TailwindBreakpoints) diff --git a/packages/frontend-2/components/viewer/GlobalIsolationHiddenReset.vue b/packages/frontend-2/components/viewer/GlobalIsolationHiddenReset.vue new file mode 100644 index 000000000..c543782bf --- /dev/null +++ b/packages/frontend-2/components/viewer/GlobalIsolationHiddenReset.vue @@ -0,0 +1,47 @@ + + diff --git a/packages/frontend-2/components/viewer/GlobalIsolationReset.vue b/packages/frontend-2/components/viewer/GlobalIsolationReset.vue deleted file mode 100644 index 78ec93e95..000000000 --- a/packages/frontend-2/components/viewer/GlobalIsolationReset.vue +++ /dev/null @@ -1,22 +0,0 @@ - - diff --git a/packages/frontend-2/lib/viewer/composables/filtering/filtering.ts b/packages/frontend-2/lib/viewer/composables/filtering/filtering.ts index 83adab352..879d45b83 100644 --- a/packages/frontend-2/lib/viewer/composables/filtering/filtering.ts +++ b/packages/frontend-2/lib/viewer/composables/filtering/filtering.ts @@ -86,6 +86,13 @@ export function useFilterUtilities( filters.isolatedObjectIds.value = [] } + const resetHiddenAndIsolations = () => { + clearHighlightedObjects() + clearSelection() + filters.isolatedObjectIds.value = [] + filters.hiddenObjectIds.value = [] + } + const hasAnyIsolationsApplied = computed(() => { return filters.isolatedObjectIds.value.length > 0 }) @@ -111,6 +118,16 @@ export function useFilterUtilities( filters.hiddenObjectIds.value = difference(filters.hiddenObjectIds.value, objectIds) } + const resetHidden = () => { + clearHighlightedObjects() + clearSelection() + filters.hiddenObjectIds.value = [] + } + + const hasAnyHiddenApplied = computed(() => { + return filters.hiddenObjectIds.value.length > 0 + }) + /** * Gets ALL values for a property using pre-computed data (used for filtering logic) */ @@ -928,9 +945,12 @@ export function useFilterUtilities( isolateObjects, unIsolateObjects, resetIsolations, + resetHiddenAndIsolations, hideObjects, showObjects, + resetHidden, hasAnyIsolationsApplied, + hasAnyHiddenApplied, filters, addActiveFilter, updateFilterProperty, diff --git a/packages/frontend-2/lib/viewer/composables/serialization.ts b/packages/frontend-2/lib/viewer/composables/serialization.ts index 83c781ae3..62fd3cf38 100644 --- a/packages/frontend-2/lib/viewer/composables/serialization.ts +++ b/packages/frontend-2/lib/viewer/composables/serialization.ts @@ -296,9 +296,13 @@ export function useApplySerializedState() { } const filters = formattedState.ui?.filters || {} + + resetFilters() + if (filters.hiddenObjectIds?.length) { - resetFilters() hideObjects(filters.hiddenObjectIds, { replace: true }) + } else { + hideObjects([], { replace: true }) } if (filters.propertyFilters?.length) {