replace objectloader1 with 2
This commit is contained in:
Generated
+3490
-1952
File diff suppressed because it is too large
Load Diff
@@ -17,11 +17,10 @@
|
||||
"@babel/runtime-corejs3": "^7.21.5",
|
||||
"@headlessui/vue": "^1.7.13",
|
||||
"@heroicons/vue": "^2.0.12",
|
||||
"@speckle/objectloader": "^2.25.9",
|
||||
"@speckle/objectloader2": "^2.25.9",
|
||||
"@speckle/objectloader2": "file:../../../speckle-server/packages/objectloader2",
|
||||
"@speckle/tailwind-theme": "2.23.2",
|
||||
"@speckle/ui-components": "2.23.2",
|
||||
"@speckle/viewer": "2.23.23",
|
||||
"@speckle/viewer": "2.26.1",
|
||||
"color-interpolate": "^1.0.5",
|
||||
"core-js": "^3.30.2",
|
||||
"lodash": "^4.17.21",
|
||||
|
||||
@@ -34,11 +34,9 @@ import ViewModes from '../../global/icon/ViewModes.vue'
|
||||
|
||||
const viewModes = {
|
||||
[ViewMode.DEFAULT]: 'Default',
|
||||
[ViewMode.DEFAULT_EDGES]: 'Edges',
|
||||
[ViewMode.SHADED]: 'Shaded',
|
||||
[ViewMode.PEN]: 'Pen',
|
||||
[ViewMode.ARCTIC]: 'Arctic',
|
||||
[ViewMode.COLORS]: 'Colors'
|
||||
[ViewMode.ARCTIC]: 'Arctic'
|
||||
}
|
||||
|
||||
const visualStore = useVisualStore()
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import ObjectLoader from '@speckle/objectloader'
|
||||
import { ObjectLoader2 } from '@speckle/objectloader2'
|
||||
import { SpeckleLoader, WorldTree } from '@speckle/viewer'
|
||||
|
||||
export class SpeckleObjectsOfflineLoader extends SpeckleLoader {
|
||||
@@ -7,15 +7,13 @@ export class SpeckleObjectsOfflineLoader extends SpeckleLoader {
|
||||
}
|
||||
|
||||
protected initObjectLoader(
|
||||
_resource: string,
|
||||
_authToken?: string,
|
||||
_enableCaching?: boolean,
|
||||
resourceData?: string | ArrayBuffer
|
||||
): ObjectLoader {
|
||||
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
||||
//@ts-ignore
|
||||
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
|
||||
return ObjectLoader.createFromObjects(resourceData as unknown as [])
|
||||
resource: string,
|
||||
authToken?: string,
|
||||
enableCaching?: boolean,
|
||||
resourceData?: unknown
|
||||
): ReturnType<SpeckleLoader['initObjectLoader']> {
|
||||
const data = (resourceData ?? this._resourceData) as unknown
|
||||
return super.initObjectLoader(resource, authToken, enableCaching, data)
|
||||
}
|
||||
|
||||
public async load(): Promise<boolean> {
|
||||
@@ -25,7 +23,7 @@ export class SpeckleObjectsOfflineLoader extends SpeckleLoader {
|
||||
return false
|
||||
}
|
||||
/** If not id is provided, we make one up based on the root object id */
|
||||
this._resource = this._resource || `/json/${rootObject.id as string}`
|
||||
this._resource = this._resource || `/json/${rootObject.baseId as string}`
|
||||
return super.load()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { useVisualStore } from '@src/store/visualStore'
|
||||
import ObjectLoader from '@speckle/objectloader' // Default import for v1
|
||||
import { ObjectLoader2Factory } from '@speckle/objectloader2'
|
||||
|
||||
interface SpeckleObject {
|
||||
id: string
|
||||
@@ -18,26 +18,26 @@ export class SpeckleApiLoader {
|
||||
this.projectId = projectId
|
||||
this.token = token
|
||||
this.headers = {
|
||||
'Authorization': `Bearer ${token}`,
|
||||
Authorization: `Bearer ${token}`,
|
||||
'Content-Type': 'application/json'
|
||||
}
|
||||
}
|
||||
|
||||
async downloadObjectsWithChildren(objectId: string, onProgress?: (loaded: number, total: number) => void): Promise<SpeckleObject[]> {
|
||||
async downloadObjectsWithChildren(
|
||||
objectId: string,
|
||||
onProgress?: (loaded: number, total: number) => void
|
||||
): Promise<SpeckleObject[]> {
|
||||
const visualStore = useVisualStore()
|
||||
|
||||
visualStore.setLoadingProgress('Initializing object loader', 0)
|
||||
console.log('Creating ObjectLoader v1 for Power BI environment')
|
||||
|
||||
// Create ObjectLoader v1 instance - use 'token' not 'authToken'
|
||||
const loader = new ObjectLoader({
|
||||
const loader = ObjectLoader2Factory.createFromUrl({
|
||||
serverUrl: this.serverUrl,
|
||||
streamId: this.projectId,
|
||||
objectId: objectId,
|
||||
objectId,
|
||||
token: this.token,
|
||||
options: {
|
||||
enableCaching: false, // Disable caching for Power BI environment
|
||||
}
|
||||
attributeMask: { exclude: ['properties', 'encodedValue'] }
|
||||
})
|
||||
|
||||
try {
|
||||
@@ -71,15 +71,9 @@ export class SpeckleApiLoader {
|
||||
visualStore.setLoadingProgress('Download complete', 1)
|
||||
|
||||
return objects
|
||||
|
||||
} catch (error) {
|
||||
console.error('Error loading objects:', error)
|
||||
throw error
|
||||
} finally {
|
||||
// ObjectLoader v1 cleanup
|
||||
if (loader.dispose) {
|
||||
loader.dispose()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -91,13 +85,12 @@ export class SpeckleApiLoader {
|
||||
|
||||
async downloadMultipleModels(objectIds: string[]): Promise<SpeckleObject[][]> {
|
||||
const allObjects: SpeckleObject[][] = []
|
||||
|
||||
|
||||
for (const objectId of objectIds) {
|
||||
const objects = await this.downloadObjectsWithChildren(objectId)
|
||||
allObjects.push(objects)
|
||||
}
|
||||
|
||||
|
||||
return allObjects
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user