Browse Source

fix(gui): populate record url based on route param and active view

Signed-off-by: Pranav C <pranavxc@gmail.com>
pull/3655/head
Pranav C 2 years ago
parent
commit
aaa45c36e8
  1. 2
      packages/nc-gui/components/smartsheet/Gallery.vue
  2. 2
      packages/nc-gui/components/smartsheet/Grid.vue
  3. 11
      packages/nc-gui/components/smartsheet/expanded-form/Header.vue
  4. 3
      packages/nc-gui/components/smartsheet/expanded-form/index.vue

2
packages/nc-gui/components/smartsheet/Gallery.vue

@ -221,6 +221,7 @@ provide(ReloadRowDataHookInj, reloadViewDataHook)
:row="expandedFormRow"
:state="expandedFormRowState"
:meta="meta"
:view="view"
/>
<SmartsheetExpandedForm
@ -230,6 +231,7 @@ provide(ReloadRowDataHookInj, reloadViewDataHook)
:row="{ row: {}, oldRow: {}, rowMeta: {} }"
:meta="meta"
:row-id="route.query.rowId"
:view="view"
/>
</div>
</template>

2
packages/nc-gui/components/smartsheet/Grid.vue

@ -645,6 +645,7 @@ provide(ReloadRowDataHookInj, reloadViewDataHook)
:row="expandedFormRow"
:state="expandedFormRowState"
:meta="meta"
:view="view"
@update:model-value="
() => {
if (!skipRowRemovalOnCancel) removeRowIfNew(expandedFormRow)
@ -659,6 +660,7 @@ provide(ReloadRowDataHookInj, reloadViewDataHook)
:row="{ row: {}, oldRow: {}, rowMeta: {} }"
:meta="meta"
:row-id="route.query.rowId"
:view="view"
/>
</div>
</template>

11
packages/nc-gui/components/smartsheet/expanded-form/Header.vue

@ -1,5 +1,6 @@
<script lang="ts" setup>
import { message } from 'ant-design-vue'
import type { ViewType } from 'nocodb-sdk'
import {
ReloadRowDataHookInj,
useExpandedFormStoreOrThrow,
@ -8,9 +9,11 @@ import {
useUIPermission,
} from '#imports'
const props = defineProps<{ view?: ViewType }>()
const emit = defineEmits(['cancel'])
const { project } = useProject()
const route = useRoute()
const { meta, isSqlView } = useSmartsheetStoreOrThrow()
@ -41,7 +44,11 @@ const { dashboardUrl } = useDashboard()
const { copy } = useClipboard()
const copyRecordUrl = () => {
copy(`${dashboardUrl?.value}#/nc/${project.value?.id}/table/${meta.value?.title}?rowId=${primaryKey.value}`)
copy(
`${dashboardUrl?.value}#/${route.params.projectType}/${route.params.projectId}/${route.params.type}/${meta.value?.title}${
props.view ? `/${props.view.title}` : ''
}?rowId=${primaryKey.value}`,
)
message.success('Copied to clipboard')
}
</script>

3
packages/nc-gui/components/smartsheet/expanded-form/index.vue

@ -32,6 +32,7 @@ interface Props {
loadRow?: boolean
useMetaFields?: boolean
rowId?: string
view?: ViewType
}
const props = defineProps<Props>()
@ -127,7 +128,7 @@ export default {
:closable="false"
class="nc-drawer-expanded-form"
>
<Header @cancel="onClose" />
<Header :view="view" @cancel="onClose" />
<div class="!bg-gray-100 rounded flex-1">
<div class="flex h-full nc-form-wrapper items-stretch min-h-[max(70vh,100%)]">
<div class="flex-1 overflow-auto scrollbar-thin-dull">

Loading…
Cancel
Save