diff --git a/packages/frontend/src/main/lib/viewer/commit-object-viewer/stateManager.ts b/packages/frontend/src/main/lib/viewer/commit-object-viewer/stateManager.ts index 69db5093d..1242d7c12 100644 --- a/packages/frontend/src/main/lib/viewer/commit-object-viewer/stateManager.ts +++ b/packages/frontend/src/main/lib/viewer/commit-object-viewer/stateManager.ts @@ -9,8 +9,6 @@ import { Viewer, SelectionEvent, PropertyInfo, - NumericPropertyInfo, - StringPropertyInfo, FilteringState } from '@speckle/viewer' import emojis from '@/main/store/emojis' @@ -223,10 +221,10 @@ export function setPreventCommentCollapse(shouldPrevent: boolean) { // VIEWER -export function handleViewerSelection(selectionInfo: SelectionEvent) { +export async function handleViewerSelection(selectionInfo: SelectionEvent) { if (!selectionInfo) { updateState({ selectedObjects: [] }) - getInitializedViewer().FilteringManager.resetSelection() + await getInitializedViewer().resetSelection() return } @@ -239,38 +237,38 @@ export function handleViewerSelection(selectionInfo: SelectionEvent) { state.selectedObjects = [selectionInfo.userData] } - getInitializedViewer().FilteringManager.selectObjects( + getInitializedViewer().selectObjects( state.selectedObjects.map((o) => o.id) as string[] ) updateState(state) } -export function clearSelectionDisplay() { - getInitializedViewer().FilteringManager.resetSelection() +export async function clearSelectionDisplay() { + await getInitializedViewer().resetSelection() } -export function resetSelection() { +export async function resetSelection() { updateState({ selectedObjects: [] }) - getInitializedViewer().FilteringManager.resetSelection() + await getInitializedViewer().resetSelection() } -export function highlightObjects(objectIds: string[]) { - getInitializedViewer().FilteringManager.highlightObjects(objectIds) +export async function highlightObjects(objectIds: string[]) { + await getInitializedViewer().highlightObjects(objectIds) } -export function removeHighlights() { +export async function removeHighlights() { // TODO - getInitializedViewer().FilteringManager.resetHighlight() + await getInitializedViewer().resetHighlight() } // FILTERING NEW -export function isolateObjects2( +export async function isolateObjects2( objectIds: string[], stateKey: string, includeDescendants = false ) { - const result = getInitializedViewer().FilteringManager.isolateObjects( + const result = await getInitializedViewer().isolateObjects( objectIds, stateKey, includeDescendants @@ -279,12 +277,12 @@ export function isolateObjects2( updateState({ currentFilterState: result }) } -export function unIsolateObjects2( +export async function unIsolateObjects2( objectIds: string[], stateKey: string, includeDescendants = false ) { - const result = getInitializedViewer().FilteringManager.unIsolateObjects( + const result = await getInitializedViewer().unIsolateObjects( objectIds, stateKey, includeDescendants @@ -293,12 +291,12 @@ export function unIsolateObjects2( console.log(result) } -export function hideObjects2( +export async function hideObjects2( objectIds: string[], stateKey: string, includeDescendants = false ) { - const result = getInitializedViewer().FilteringManager.hideObjects( + const result = await getInitializedViewer().hideObjects( objectIds, stateKey, includeDescendants @@ -307,12 +305,12 @@ export function hideObjects2( console.log(result) } -export function showObjects2( +export async function showObjects2( objectIds: string[], stateKey: string, includeDescendants = false ) { - const result = getInitializedViewer().FilteringManager.showObjects( + const result = await getInitializedViewer().showObjects( objectIds, stateKey, includeDescendants @@ -323,8 +321,8 @@ export function showObjects2( console.log(result) } -export function setColorFilter(property: PropertyInfo) { - const result = getInitializedViewer().FilteringManager.setColorFilter(property) +export async function setColorFilter(property: PropertyInfo) { + const result = await getInitializedViewer().setColorFilter(property) updateState({ currentFilterState: result }) console.log(result) } @@ -718,7 +716,7 @@ export async function setFilterDirectly(params: { filter: Filter }) { } } -export function resetFilter() { +export async function resetFilter() { const viewer = getInitializedViewer() resetInternalHideIsolateObjectState() @@ -729,6 +727,6 @@ export function resetFilter() { currentFilterState: null }) - viewer.FilteringManager.reset() + await viewer.reset() viewer.applyFilter(null) } diff --git a/packages/viewer/src/IViewer.ts b/packages/viewer/src/IViewer.ts index 370c2a7e2..1963ff8dd 100644 --- a/packages/viewer/src/IViewer.ts +++ b/packages/viewer/src/IViewer.ts @@ -106,22 +106,22 @@ export interface IViewer { objectIds: string[], stateKey?: string, includeDescendants? - ): Promise + ): Promise hideObjects( objectIds: string[], stateKey?: string, includeDescendants? - ): Promise + ): Promise isolateObjects( objectIds: string[], stateKey?: string, includeDescendants? - ): Promise + ): Promise unIsolateObjects( objectIds: string[], stateKey?: string, includeDescendants? - ): Promise + ): Promise selectObjects(objectIds: string[]): Promise resetSelection(): Promise diff --git a/packages/viewer/src/modules/Viewer.ts b/packages/viewer/src/modules/Viewer.ts index 48b13d310..32250f21b 100644 --- a/packages/viewer/src/modules/Viewer.ts +++ b/packages/viewer/src/modules/Viewer.ts @@ -119,11 +119,11 @@ export class Viewer extends EventEmitter implements IViewer { this.filteringManager = new FilteringManager(this.speckleRenderer) // eslint-disable-next-line @typescript-eslint/no-explicit-any - ;(window as any).WT = WorldTree + // ;(window as any).WT = WorldTree // eslint-disable-next-line @typescript-eslint/no-explicit-any - ;(window as any).FM = this.filteringManager + // ;(window as any).FM = this.filteringManager // eslint-disable-next-line @typescript-eslint/no-explicit-any - ;(window as any).V = this + // ;(window as any).V = this } public getObjectProperties(resourceURL: string = null): PropertyInfo[] { @@ -148,10 +148,11 @@ export class Viewer extends EventEmitter implements IViewer { objectIds: string[], stateKey: string = null, includeDescendants = false - ): Promise { - return new Promise((resolve) => { - this.filteringManager.hideObjects(objectIds, stateKey, includeDescendants) - resolve() + ): Promise { + return new Promise((resolve) => { + resolve( + this.filteringManager.hideObjects(objectIds, stateKey, includeDescendants) + ) }) } @@ -159,10 +160,11 @@ export class Viewer extends EventEmitter implements IViewer { objectIds: string[], stateKey: string = null, includeDescendants = false - ): Promise { - return new Promise((resolve) => { - this.filteringManager.showObjects(objectIds, stateKey, includeDescendants) - resolve() + ): Promise { + return new Promise((resolve) => { + resolve( + this.filteringManager.showObjects(objectIds, stateKey, includeDescendants) + ) }) } @@ -170,10 +172,11 @@ export class Viewer extends EventEmitter implements IViewer { objectIds: string[], stateKey: string = null, includeDescendants = false - ): Promise { - return new Promise((resolve) => { - this.filteringManager.isolateObjects(objectIds, stateKey, includeDescendants) - resolve() + ): Promise { + return new Promise((resolve) => { + resolve( + this.filteringManager.isolateObjects(objectIds, stateKey, includeDescendants) + ) }) } @@ -181,10 +184,11 @@ export class Viewer extends EventEmitter implements IViewer { objectIds: string[], stateKey: string = null, includeDescendants = false - ): Promise { - return new Promise((resolve) => { - this.filteringManager.unIsolateObjects(objectIds, stateKey, includeDescendants) - resolve() + ): Promise { + return new Promise((resolve) => { + resolve( + this.filteringManager.unIsolateObjects(objectIds, stateKey, includeDescendants) + ) }) } @@ -395,7 +399,7 @@ export class Viewer extends EventEmitter implements IViewer { * LEGACY: Handles (or tries to handle) old viewer filtering. * @param args legacy filter object */ - public async applyFilter(filter: Record) { + public async applyFilter(filter: unknown) { filter // return this.FilteringManager.handleLegacyFilter(filter) }