-
{{ $t('activity.filter') }}
+
{{ $t('activity.filter') }}
{{ filtersLength }}
diff --git a/packages/nc-gui/components/smartsheet/toolbar/FieldsMenu.vue b/packages/nc-gui/components/smartsheet/toolbar/FieldsMenu.vue
index 1809034bbd..2595788282 100644
--- a/packages/nc-gui/components/smartsheet/toolbar/FieldsMenu.vue
+++ b/packages/nc-gui/components/smartsheet/toolbar/FieldsMenu.vue
@@ -31,6 +31,8 @@ const reloadViewMetaHook = inject(ReloadViewMetaHookInj, undefined)!
const rootFields = inject(FieldsInj)
+const { isMobileMode } = useGlobal()
+
const isLocked = inject(IsLockedInj, ref(false))
const isPublic = inject(IsPublicInj, ref(false))
@@ -157,7 +159,7 @@ useMenuCloseOnEsc(open)
-
{{ $t('objects.fields') }}
+
{{ $t('objects.fields') }}
diff --git a/packages/nc-gui/components/smartsheet/toolbar/FilterInput.vue b/packages/nc-gui/components/smartsheet/toolbar/FilterInput.vue
index 3d6b8d57dc..e4e4c2267e 100644
--- a/packages/nc-gui/components/smartsheet/toolbar/FilterInput.vue
+++ b/packages/nc-gui/components/smartsheet/toolbar/FilterInput.vue
@@ -84,10 +84,11 @@ const checkTypeFunctions = {
type FilterType = keyof typeof checkTypeFunctions
-// todo: replace with sqlUis
-const { sqlUi } = $(storeToRefs(useProject()))
+const { sqlUis } = storeToRefs(useProject())
-const abstractType = $computed(() => (column.value?.dt && sqlUi ? sqlUi.getAbstractType(column.value) : null))
+const sqlUi = ref(column.value?.base_id ? sqlUis.value[column.value?.base_id] : Object.values(sqlUis.value)[0])
+
+const abstractType = computed(() => column.value && sqlUi.value.getAbstractType(column.value))
const checkType = (filterType: FilterType) => {
const checkTypeFunction = checkTypeFunctions[filterType]
diff --git a/packages/nc-gui/components/smartsheet/toolbar/QrScannerButton.vue b/packages/nc-gui/components/smartsheet/toolbar/QrScannerButton.vue
new file mode 100644
index 0000000000..25f8a1729f
--- /dev/null
+++ b/packages/nc-gui/components/smartsheet/toolbar/QrScannerButton.vue
@@ -0,0 +1,165 @@
+
+
+
+
+
+
+
+ {{ $t('activity.findRowByCodeScan') }}
+
+
+
+
+
{{ $t('title.findRowByScanningCode') }}
+
+
+
+
+
+
+
+ {{ $t('msg.info.codeScanner.selectColumn') }}
+
+
+ {{ $t('msg.info.codeScanner.loadingScanner') }}
+
+
+
+
+
+
diff --git a/packages/nc-gui/components/smartsheet/toolbar/ShareView.vue b/packages/nc-gui/components/smartsheet/toolbar/ShareView.vue
index 02fc2bfb03..45c4bec03e 100644
--- a/packages/nc-gui/components/smartsheet/toolbar/ShareView.vue
+++ b/packages/nc-gui/components/smartsheet/toolbar/ShareView.vue
@@ -35,6 +35,8 @@ const { isUIAllowed } = useUIPermission()
const { isSharedBase } = storeToRefs(useProject())
+const { isMobileMode } = useGlobal()
+
let showShareModel = $ref(false)
const passwordProtected = ref(false)
@@ -195,7 +197,7 @@ const copyLink = async () => {
// Copied to clipboard
message.success(t('msg.info.copiedToClipboard'))
- } catch (e) {
+ } catch (e: any) {
message.error(e.message)
}
}
@@ -230,7 +232,7 @@ const copyIframeCode = async () => {
// Copied to clipboard
message.success(t('msg.info.copiedToClipboard'))
- } catch (e) {
+ } catch (e: any) {
message.error(e.message)
}
}
@@ -249,7 +251,7 @@ const copyIframeCode = async () => {
- {{ $t('activity.shareView') }}
+ {{ $t('activity.shareView') }}
diff --git a/packages/nc-gui/components/smartsheet/toolbar/SharedViewList.vue b/packages/nc-gui/components/smartsheet/toolbar/SharedViewList.vue
index 97ed60984a..374fb7283d 100644
--- a/packages/nc-gui/components/smartsheet/toolbar/SharedViewList.vue
+++ b/packages/nc-gui/components/smartsheet/toolbar/SharedViewList.vue
@@ -5,6 +5,7 @@ import {
extractSdkResponseErrorMsg,
message,
onMounted,
+ parseProp,
ref,
useCopy,
useDashboard,
@@ -70,7 +71,7 @@ const sharedViewUrl = (view: SharedViewType) => {
const renderAllowCSVDownload = (view: SharedViewType) => {
if (view.type === ViewTypes.GRID) {
- view.meta = (view.meta && typeof view.meta === 'string' ? JSON.parse(view.meta) : view.meta) as Record
+ view.meta = (view.meta && parseProp(view.meta)) as Record
return view.meta?.allowCSVDownload ? '✔️' : '❌'
} else {
return 'N/A'
@@ -82,7 +83,7 @@ const copyLink = (view: SharedViewType) => {
copy(`${dashboardUrl?.value as string}#${sharedViewUrl(view)}`)
// Copied to clipboard
message.success(t('msg.info.copiedToClipboard'))
- } catch (e) {
+ } catch (e: any) {
message.error(e.message)
}
}
diff --git a/packages/nc-gui/components/smartsheet/toolbar/SortListMenu.vue b/packages/nc-gui/components/smartsheet/toolbar/SortListMenu.vue
index 0e3c1b049c..9554bd7bf0 100644
--- a/packages/nc-gui/components/smartsheet/toolbar/SortListMenu.vue
+++ b/packages/nc-gui/components/smartsheet/toolbar/SortListMenu.vue
@@ -34,6 +34,8 @@ const addSort = () => {
})
}
+const { isMobileMode } = useGlobal()
+
eventBus.on((event) => {
if (event === SmartsheetStoreEvents.SORT_RELOAD) {
loadSorts()
@@ -76,7 +78,7 @@ useMenuCloseOnEsc(open)
- {{ $t('activity.sort') }}
+ {{ $t('activity.sort') }}
{{ sorts.length }}
diff --git a/packages/nc-gui/components/smartsheet/toolbar/ViewActions.vue b/packages/nc-gui/components/smartsheet/toolbar/ViewActions.vue
index 8ee7f1b475..6e822070d6 100644
--- a/packages/nc-gui/components/smartsheet/toolbar/ViewActions.vue
+++ b/packages/nc-gui/components/smartsheet/toolbar/ViewActions.vue
@@ -26,6 +26,8 @@ const { t } = useI18n()
const sharedViewListDlg = ref(false)
+const { isMobileMode } = useGlobal()
+
const isPublicView = inject(IsPublicInj, ref(false))
const isView = false
@@ -218,7 +220,7 @@ useMenuCloseOnEsc(open)
-