fix(fe2): viewer resources fully unloading when adding/removing models

This commit is contained in:
Kristaps Fabians Geikins
2023-09-20 11:56:06 +03:00
parent 842ff79591
commit bec2ffde16
3 changed files with 112 additions and 31 deletions
@@ -489,10 +489,14 @@ function setupResponseResourceItems(
result: resolvedResourcesResult,
variables: resourceItemsQueryVariables,
onError
} = useQuery(projectViewerResourcesQuery, () => ({
projectId: projectId.value,
resourceUrlString: resourceIdString.value
}))
} = useQuery(
projectViewerResourcesQuery,
() => ({
projectId: projectId.value,
resourceUrlString: resourceIdString.value
}),
{ keepPreviousResult: true }
)
onError((err) => {
globalError.value = createError({
@@ -635,7 +639,9 @@ function setupResponseResourceData(
variables: viewerLoadedResourcesVariables,
onError: onViewerLoadedResourcesError,
onResult: onViewerLoadedResourcesResult
} = useQuery(viewerLoadedResourcesQuery, viewerLoadedResourcesVariablesFunc)
} = useQuery(viewerLoadedResourcesQuery, viewerLoadedResourcesVariablesFunc, {
keepPreviousResult: true
})
const project = computed(() => viewerLoadedResourcesResult.value?.project)
const models = computed(() => project.value?.models?.items || [])
@@ -723,13 +729,17 @@ function setupResponseResourceData(
result: viewerLoadedThreadsResult,
onError: onViewerLoadedThreadsError,
variables: threadsQueryVariables
} = useQuery(viewerLoadedThreadsQuery, () => ({
projectId: projectId.value,
filter: {
...threadFilters.value,
resourceIdString: resourceIdString.value
}
}))
} = useQuery(
viewerLoadedThreadsQuery,
() => ({
projectId: projectId.value,
filter: {
...threadFilters.value,
resourceIdString: resourceIdString.value
}
}),
{ keepPreviousResult: true }
)
const commentThreadsMetadata = computed(
() => viewerLoadedThreadsResult.value?.project?.commentThreads
+3 -3
View File
@@ -27,7 +27,7 @@
"chromatic": "chromatic --exit-zero-on-changes --exit-once-uploaded"
},
"dependencies": {
"@apollo/client": "^3.8.1",
"@apollo/client": "^3.8.4",
"@headlessui/vue": "^1.7.13",
"@heroicons/vue": "^2.0.12",
"@speckle/shared": "workspace:^",
@@ -50,8 +50,8 @@
"@tiptap/pm": "2.0.0-beta.220",
"@tiptap/suggestion": "2.0.0-beta.220",
"@tiptap/vue-3": "2.0.0-beta.220",
"@vue/apollo-composable": "4.0.0-beta.8",
"@vue/apollo-ssr": "4.0.0-beta.5",
"@vue/apollo-composable": "4.0.0-beta.11",
"@vue/apollo-ssr": "4.0.0-beta.9",
"@vueuse/core": "^9.13.0",
"apollo-upload-client": "^17.0.0",
"dayjs": "^1.11.7",
+87 -16
View File
@@ -46,7 +46,7 @@ __metadata:
languageName: node
linkType: hard
"@apollo/client@npm:^3.6.6, @apollo/client@npm:^3.7.0, @apollo/client@npm:^3.7.14, @apollo/client@npm:^3.8.1":
"@apollo/client@npm:^3.6.6, @apollo/client@npm:^3.7.0, @apollo/client@npm:^3.7.14":
version: 3.8.1
resolution: "@apollo/client@npm:3.8.1"
dependencies:
@@ -82,6 +82,42 @@ __metadata:
languageName: node
linkType: hard
"@apollo/client@npm:^3.8.4":
version: 3.8.4
resolution: "@apollo/client@npm:3.8.4"
dependencies:
"@graphql-typed-document-node/core": ^3.1.1
"@wry/context": ^0.7.3
"@wry/equality": ^0.5.6
"@wry/trie": ^0.4.3
graphql-tag: ^2.12.6
hoist-non-react-statics: ^3.3.2
optimism: ^0.17.5
prop-types: ^15.7.2
response-iterator: ^0.2.6
symbol-observable: ^4.0.0
ts-invariant: ^0.10.3
tslib: ^2.3.0
zen-observable-ts: ^1.2.5
peerDependencies:
graphql: ^14.0.0 || ^15.0.0 || ^16.0.0
graphql-ws: ^5.5.5
react: ^16.8.0 || ^17.0.0 || ^18.0.0
react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
subscriptions-transport-ws: ^0.9.0 || ^0.11.0
peerDependenciesMeta:
graphql-ws:
optional: true
react:
optional: true
react-dom:
optional: true
subscriptions-transport-ws:
optional: true
checksum: 509e37cdce7462cacda0a86c413ce471cd8f618625fb8ac3a60d6347d12f37a4fc60e12fc3fc1a375799caa21e56ff58d709e13ef5e13ab15e4dfc828a527848
languageName: node
linkType: hard
"@apollo/protobufjs@npm:1.2.4":
version: 1.2.4
resolution: "@apollo/protobufjs@npm:1.2.4"
@@ -12422,7 +12458,7 @@ __metadata:
version: 0.0.0-use.local
resolution: "@speckle/frontend-2@workspace:packages/frontend-2"
dependencies:
"@apollo/client": ^3.8.1
"@apollo/client": ^3.8.4
"@babel/core": ^7.19.6
"@babel/preset-env": ^7.19.4
"@babel/preset-react": ^7.18.6
@@ -12476,8 +12512,8 @@ __metadata:
"@typescript-eslint/eslint-plugin": ^5.38.1
"@typescript-eslint/parser": ^5.38.1
"@vitejs/plugin-legacy": ^4.0.3
"@vue/apollo-composable": 4.0.0-beta.8
"@vue/apollo-ssr": 4.0.0-beta.5
"@vue/apollo-composable": 4.0.0-beta.11
"@vue/apollo-ssr": 4.0.0-beta.9
"@vueuse/core": ^9.13.0
apollo-upload-client: ^17.0.0
autoprefixer: ^10.4.14
@@ -16959,13 +16995,13 @@ __metadata:
languageName: node
linkType: hard
"@vue/apollo-composable@npm:4.0.0-beta.8":
version: 4.0.0-beta.8
resolution: "@vue/apollo-composable@npm:4.0.0-beta.8"
"@vue/apollo-composable@npm:4.0.0-beta.11":
version: 4.0.0-beta.11
resolution: "@vue/apollo-composable@npm:4.0.0-beta.11"
dependencies:
throttle-debounce: ^3.0.1
ts-essentials: ^9.1.2
vue-demi: ^0.13.1
throttle-debounce: ^5.0.0
ts-essentials: ^9.4.0
vue-demi: ^0.14.6
peerDependencies:
"@apollo/client": ^3.4.13
"@vue/composition-api": ^1.0.0
@@ -16974,7 +17010,7 @@ __metadata:
peerDependenciesMeta:
"@vue/composition-api":
optional: true
checksum: da25c39bba90d6f7ad4e433c37a1688f2d6640282fe2fcc8763ed27b1f06a1fb106d13ffc6e1245c3596e0ed57751efb2ce17ba3b97da46c447449ef1f6560dc
checksum: c68771158d1362804c14ad872943b4f549b3f3842de7b9ba2ef21a11e012c7dd71ce7bbc8bed5fbd79ee26a402efee2263e9985b1cac9da0a0a1a8ec3ef66a6c
languageName: node
linkType: hard
@@ -17028,12 +17064,12 @@ __metadata:
languageName: node
linkType: hard
"@vue/apollo-ssr@npm:4.0.0-beta.5":
version: 4.0.0-beta.5
resolution: "@vue/apollo-ssr@npm:4.0.0-beta.5"
"@vue/apollo-ssr@npm:4.0.0-beta.9":
version: 4.0.0-beta.9
resolution: "@vue/apollo-ssr@npm:4.0.0-beta.9"
dependencies:
serialize-javascript: ^6.0.0
checksum: 95094d0dc9f0bb34090b29c452db8c89915bed173763c17a0d2c5f634d622e9f2797ec0b6321bb2221da7d2855453a7d516ba81ec4a4e1715d88863d898abf66
serialize-javascript: ^6.0.1
checksum: 493a1cae1e900754d3f3117f7a82d17ea0a8c2708923f9264f78f5821ce4380f8893f19a00a257de3f2e50f02ac25a425d57ba8a902767c59c81d975559c4303
languageName: node
linkType: hard
@@ -40366,6 +40402,13 @@ __metadata:
languageName: node
linkType: hard
"throttle-debounce@npm:^5.0.0":
version: 5.0.0
resolution: "throttle-debounce@npm:5.0.0"
checksum: aa8bf25828b4f8645ce863589de05d6807ea3debc147ce7d89624638ff8a16792d6d0baa0f8a32a260f0b163444d74020c6087b713ae561fde594b97b6e51f28
languageName: node
linkType: hard
"through2@npm:^2.0.3":
version: 2.0.5
resolution: "through2@npm:2.0.5"
@@ -40619,6 +40662,18 @@ __metadata:
languageName: node
linkType: hard
"ts-essentials@npm:^9.4.0":
version: 9.4.0
resolution: "ts-essentials@npm:9.4.0"
peerDependencies:
typescript: ">=4.1.0"
peerDependenciesMeta:
typescript:
optional: true
checksum: 50719782f9bfa31678fd1607de783a92b322ed8c26e6229bd0d1786c0649b9f1a7b9a6ac5bc60435053c4952bd3ef2356b5c930cb3a8d3519dc8f41c5576328f
languageName: node
linkType: hard
"ts-interface-checker@npm:^0.1.9":
version: 0.1.13
resolution: "ts-interface-checker@npm:0.1.13"
@@ -42453,6 +42508,22 @@ __metadata:
languageName: node
linkType: hard
"vue-demi@npm:^0.14.6":
version: 0.14.6
resolution: "vue-demi@npm:0.14.6"
peerDependencies:
"@vue/composition-api": ^1.0.0-rc.1
vue: ^3.0.0-0 || ^2.6.0
peerDependenciesMeta:
"@vue/composition-api":
optional: true
bin:
vue-demi-fix: bin/vue-demi-fix.js
vue-demi-switch: bin/vue-demi-switch.js
checksum: 424b1f340d5111fc4d4a0f8042c14ae836ba983bc968773a6d955d6846202d7e6f951993ac1525be8732b0cfe0c81d94ab88f427c97bfa86ead08db06491279b
languageName: node
linkType: hard
"vue-devtools-stub@npm:^0.1.0":
version: 0.1.0
resolution: "vue-devtools-stub@npm:0.1.0"