Files
speckle-server/packages/frontend-2/lib/viewer/graphql/queries.ts
T
Dimitrie Stefanescu 3c15e888be adds a raw data viewer for advanced users (#2296)
* feat(gendo): scaffolding

* feat(gendo): wip

* feat(gendo): wip

* feat(gendo): wip

* feat(gendo): wip

* feat(gendo): wip

* feat(gendo): it's alive

* feat(gendo): wip

* feat(gendo): blobifies responses to make gergo happy

* feat(gendo): ratelimiting + lints

* feat(gendo): prettier fix

* feat(gendo): last fixes

* feat(gendo): clarifications

* feat(gendo): helm base

* feat(dataviewer): raw first pass

* feat(dataviewer): some styling

* feat(dataviewer): objects in new + fixes

* feat(dataviewer): resources support for object cards

* feat(dataviewer): adds selected object support

* feat(dataviewer): removes button from main sidebar, integrates with explorer

* feat(dataviewer): some value handling fixes

* feat(dataviewer): linting fixes

* feat(dataviewer): show raw viewer within Scene Explorer

* feat(dataviewer): Update copy and labels

* feat(dataviewer): Improve row borders and divider

* Apply suggestions from code review

* feat(dataviewer): Make sure arrow doesn't shrink

---------

Co-authored-by: andrewwallacespeckle <139135120+andrewwallacespeckle@users.noreply.github.com>
Co-authored-by: Benjamin Ottensten <benjamin.ottensten@gmail.com>
2024-05-30 14:12:49 +02:00

149 lines
3.3 KiB
TypeScript

import { graphql } from '~~/lib/common/generated/gql'
export const projectViewerResourcesQuery = graphql(`
query ProjectViewerResources($projectId: String!, $resourceUrlString: String!) {
project(id: $projectId) {
id
viewerResources(resourceIdString: $resourceUrlString) {
identifier
items {
modelId
versionId
objectId
}
}
}
}
`)
/**
* Query to load all metadata needed for loaded models (& their versions) in the viewer, for
* all sidebar panels and everything
*/
export const viewerLoadedResourcesQuery = graphql(`
query ViewerLoadedResources(
$projectId: String!
$modelIds: [String!]!
$versionIds: [String!]
) {
project(id: $projectId) {
id
role
allowPublicComments
models(filter: { ids: $modelIds }) {
totalCount
items {
id
name
updatedAt
loadedVersion: versions(
filter: { priorityIds: $versionIds, priorityIdsOnly: true }
) {
items {
...ViewerModelVersionCardItem
automationsStatus {
id
automationRuns {
...AutomateViewerPanel_AutomateRun
}
}
}
}
versions(limit: 5) {
totalCount
cursor
items {
...ViewerModelVersionCardItem
}
}
}
}
...ProjectPageLatestItemsModels
...ModelPageProject
...HeaderNavShare_Project
}
}
`)
/**
* Note: The Model.versions query must be exactly the same as the one in `ViewerLoadedResources` for
* automatic cache updates to work properly
*/
export const viewerModelVersionsQuery = graphql(`
query ViewerModelVersions(
$projectId: String!
$modelId: String!
$versionsCursor: String
) {
project(id: $projectId) {
id
role
model(id: $modelId) {
id
versions(cursor: $versionsCursor, limit: 5) {
totalCount
cursor
items {
...ViewerModelVersionCardItem
}
}
}
}
}
`)
export const viewerDiffVersionsQuery = graphql(`
query ViewerDiffVersions(
$projectId: String!
$modelId: String!
$versionAId: String!
$versionBId: String!
) {
project(id: $projectId) {
id
model(id: $modelId) {
id
versionA: version(id: $versionAId) {
...ViewerModelVersionCardItem
}
versionB: version(id: $versionBId) {
...ViewerModelVersionCardItem
}
}
}
}
`)
export const viewerLoadedThreadsQuery = graphql(`
query ViewerLoadedThreads(
$projectId: String!
$filter: ProjectCommentsFilter!
$cursor: String
$limit: Int = 25
) {
project(id: $projectId) {
id
commentThreads(filter: $filter, cursor: $cursor, limit: $limit) {
totalCount
totalArchivedCount
items {
...ViewerCommentThread
...LinkableComment
}
}
}
}
`)
export const viewerRawObjectQuery = graphql(`
query Stream($streamId: String!, $objectId: String!) {
stream(id: $streamId) {
id
object(id: $objectId) {
id
data
}
}
}
`)