Files
speckle-server/packages/frontend-2/components/viewer/resources/ObjectCard.vue
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

49 lines
1.4 KiB
Vue

<template>
<div class="relative">
<div
:class="`rounded-md border-l-4 transition hover:border-primary border-transparent `"
>
<div
:class="`bg-foundation cursor-pointer top-0 z-20 flex h-10 sm:h-20 min-w-0 max-w-full items-center justify-between space-x-2 p-2 transition select-none`"
>
<div>
<CubeIcon class="w-6" />
</div>
<div class="flex min-w-0 flex-grow flex-col space-y-0">
<div :class="`text-sm sm:text-base font-bold truncate min-w-0`">
Object {{ object.objectId }}
</div>
</div>
</div>
</div>
<Transition>
<div
v-if="showRemove"
class="group absolute inset-0 z-[21] flex h-full w-full items-center justify-end space-x-2 rounded bg-gradient-to-r from-transparent to-foundation p-4"
>
<FormButton
color="danger"
size="xs"
class="rounded-full"
@click="$emit('remove', props.object.objectId)"
>
<XMarkIcon class="h-5 w-5" />
</FormButton>
</div>
</Transition>
</div>
</template>
<script setup lang="ts">
import { XMarkIcon, CubeIcon } from '@heroicons/vue/24/solid'
import type { ViewerResourceItem } from '~/lib/common/generated/gql/graphql'
defineEmits<{
(e: 'remove', val: string): void
}>()
const props = defineProps<{
object: ViewerResourceItem
showRemove: boolean
}>()
</script>