diff --git a/packages/nc-gui/components/cell/ClampedText.vue b/packages/nc-gui/components/cell/ClampedText.vue
index 7f82b67421..4d8c83eb46 100644
--- a/packages/nc-gui/components/cell/ClampedText.vue
+++ b/packages/nc-gui/components/cell/ClampedText.vue
@@ -8,9 +8,13 @@ const wrapper = ref()
const key = ref(0)
+const debouncedRefresh = useDebounceFn(() => {
+ key.value++
+}, 500)
+
onMounted(() => {
const observer = new ResizeObserver(() => {
- key.value++
+ debouncedRefresh()
})
observer.observe(wrapper.value)
@@ -20,7 +24,7 @@ onMounted(() => {
-import type { GridType } from 'nocodb-sdk'
import type { VNodeRef } from '@vue/runtime-core'
-import { ActiveViewInj, EditModeInj, inject, useVModel } from '#imports'
+import { EditModeInj, RowHeightInj, inject, useVModel } from '#imports'
const props = defineProps<{
modelValue?: string | number
@@ -11,30 +10,13 @@ const emits = defineEmits(['update:modelValue'])
const editEnabled = inject(EditModeInj)
-const { showNull } = useGlobal()
+const rowHeight = inject(RowHeightInj)
-const view = inject(ActiveViewInj, ref())
+const { showNull } = useGlobal()
const vModel = useVModel(props, 'modelValue', emits, { defaultValue: '' })
const focus: VNodeRef = (el) => (el as HTMLTextAreaElement)?.focus()
-
-const rowHeight = computed(() => {
- if ((view.value?.view as GridType)?.row_height !== undefined) {
- switch ((view.value?.view as GridType)?.row_height) {
- case 0:
- return 1
- case 1:
- return 2
- case 2:
- return 4
- case 3:
- return 6
- default:
- return 1
- }
- }
-})
diff --git a/packages/nc-gui/components/smartsheet/Grid.vue b/packages/nc-gui/components/smartsheet/Grid.vue
index 445bec4897..9ae398dc51 100644
--- a/packages/nc-gui/components/smartsheet/Grid.vue
+++ b/packages/nc-gui/components/smartsheet/Grid.vue
@@ -17,6 +17,7 @@ import {
ReadonlyInj,
ReloadRowDataHookInj,
ReloadViewDataHookInj,
+ RowHeightInj,
SmartsheetStoreEvents,
computed,
createEventHook,
@@ -362,6 +363,23 @@ function scrollToCell(row?: number | null, col?: number | null) {
}
}
+const rowHeight = computed(() => {
+ if ((view.value?.view as GridType)?.row_height !== undefined) {
+ switch ((view.value?.view as GridType)?.row_height) {
+ case 0:
+ return 1
+ case 1:
+ return 2
+ case 2:
+ return 4
+ case 3:
+ return 6
+ default:
+ return 1
+ }
+ }
+})
+
onMounted(loadGridViewColumns)
provide(IsFormInj, ref(false))
@@ -374,6 +392,8 @@ provide(PaginationDataInj, paginationData)
provide(ChangePageInj, changePage)
+provide(RowHeightInj, rowHeight)
+
const disableUrlOverlay = ref(false)
provide(CellUrlDisableOverlayInj, disableUrlOverlay)
@@ -672,23 +692,6 @@ const closeAddColumnDropdown = () => {
columnOrder.value = null
addColumnDropdown.value = false
}
-
-const rowHeight = computed(() => {
- if ((view.value?.view as GridType)?.row_height !== undefined) {
- switch ((view.value?.view as GridType)?.row_height) {
- case 0:
- return 1
- case 1:
- return 2
- case 2:
- return 4
- case 3:
- return 6
- default:
- return 1
- }
- }
-})
diff --git a/packages/nc-gui/components/virtual-cell/QrCode.vue b/packages/nc-gui/components/virtual-cell/QrCode.vue
index 4ba96f3ab7..4343923e1f 100644
--- a/packages/nc-gui/components/virtual-cell/QrCode.vue
+++ b/packages/nc-gui/components/virtual-cell/QrCode.vue
@@ -1,12 +1,9 @@
@@ -65,7 +47,7 @@ const rowHeight = computed(() => {
{
+
+
+
+ {{ $t('msg.warning.barcode.renderError') }}
+
+
+
{{ $t('labels.barcodeValueTooLong') }}
diff --git a/packages/nc-gui/context/index.ts b/packages/nc-gui/context/index.ts
index f362ea0c57..46da3cf764 100644
--- a/packages/nc-gui/context/index.ts
+++ b/packages/nc-gui/context/index.ts
@@ -21,6 +21,7 @@ export const IsLockedInj: InjectionKey[> = Symbol('is-locked-injecti
export const CellValueInj: InjectionKey][> = Symbol('cell-value-injection')
export const ActiveViewInj: InjectionKey][> = Symbol('active-view-injection')
export const ReadonlyInj: InjectionKey][> = Symbol('readonly-injection')
+export const RowHeightInj: InjectionKey> = Symbol('row-height-injection')
/** when bool is passed, it indicates if a loading spinner should be visible while reloading */
export const ReloadViewDataHookInj: InjectionKey> = Symbol('reload-view-data-injection')
export const ReloadViewMetaHookInj: InjectionKey> = Symbol('reload-view-meta-injection')
]