mirror of https://github.com/nocodb/nocodb
Wing-Kam Wong
2 years ago
4 changed files with 75 additions and 2 deletions
@ -0,0 +1,32 @@ |
|||||||
|
<script setup lang="ts"> |
||||||
|
import { ActiveViewInj, FieldsInj, IsPublicInj, MetaInj, ReadonlyInj, ReloadViewDataHookInj } from '#imports' |
||||||
|
|
||||||
|
const { sharedView, meta, sorts, nestedFilters } = useSharedView() |
||||||
|
|
||||||
|
const reloadEventHook = createEventHook() |
||||||
|
|
||||||
|
provide(ReloadViewDataHookInj, reloadEventHook) |
||||||
|
|
||||||
|
provide(ReadonlyInj, true) |
||||||
|
|
||||||
|
provide(MetaInj, meta) |
||||||
|
|
||||||
|
provide(ActiveViewInj, sharedView) |
||||||
|
|
||||||
|
provide(FieldsInj, ref(meta.value?.columns || [])) |
||||||
|
|
||||||
|
provide(IsPublicInj, ref(true)) |
||||||
|
|
||||||
|
useProvideSmartsheetStore(sharedView, meta, true, sorts, nestedFilters) |
||||||
|
</script> |
||||||
|
|
||||||
|
<template> |
||||||
|
<div class="nc-container h-full mt-1.5 px-12"> |
||||||
|
<div class="flex flex-col h-full flex-1 min-w-0"> |
||||||
|
<LazySmartsheetToolbar /> |
||||||
|
<div class="h-full flex-1 min-w-0 min-h-0 bg-gray-50"> |
||||||
|
<LazySmartsheetGallery /> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</template> |
@ -0,0 +1,35 @@ |
|||||||
|
<script setup lang="ts"> |
||||||
|
import { message } from 'ant-design-vue' |
||||||
|
import { definePageMeta } from '#imports' |
||||||
|
|
||||||
|
definePageMeta({ |
||||||
|
public: true, |
||||||
|
requiresAuth: false, |
||||||
|
layout: 'shared-view', |
||||||
|
}) |
||||||
|
|
||||||
|
const route = useRoute() |
||||||
|
|
||||||
|
const { loadSharedView } = useSharedView() |
||||||
|
|
||||||
|
const showPassword = ref(false) |
||||||
|
|
||||||
|
try { |
||||||
|
await loadSharedView(route.params.viewId as string) |
||||||
|
} catch (e: any) { |
||||||
|
if (e?.response?.status === 403) { |
||||||
|
showPassword.value = true |
||||||
|
} else { |
||||||
|
message.error(await extractSdkResponseErrorMsg(e)) |
||||||
|
} |
||||||
|
} |
||||||
|
</script> |
||||||
|
|
||||||
|
<template> |
||||||
|
<NuxtLayout id="content" class="flex" name="shared-view"> |
||||||
|
<div v-if="showPassword"> |
||||||
|
<LazySharedViewAskPassword v-model="showPassword" /> |
||||||
|
</div> |
||||||
|
<LazySharedViewGallery v-else /> |
||||||
|
</NuxtLayout> |
||||||
|
</template> |
Loading…
Reference in new issue