diff --git a/packages/nc-gui/assets/style.scss b/packages/nc-gui/assets/style.scss index 40700e91b0..85b6ea6473 100644 --- a/packages/nc-gui/assets/style.scss +++ b/packages/nc-gui/assets/style.scss @@ -598,7 +598,7 @@ input[type='number'] { } .nc-sidebar-node { - @apply !xs:(min-h-8.9 max-h-8.9); + @apply !xs:(min-h-8.9 max-h-8.9 hover:bg-gray-50); .nc-sidebar-node-btn:not(.nc-sidebar-expand) { @apply !xs:(hidden) @@ -611,7 +611,7 @@ input[type='number'] { .nc-button.ant-btn.nc-sidebar-node-btn.nc-sidebar-expand { - @apply xs:(opacity-100); + @apply xs:(opacity-100 hover:bg-gray-50); .nc-icon { @apply xs:(visible opacity-100 !text-gray-500) diff --git a/packages/nc-gui/components/dashboard/TreeView/CreateViewBtn.vue b/packages/nc-gui/components/dashboard/TreeView/CreateViewBtn.vue index 717e64a580..a9810a14eb 100644 --- a/packages/nc-gui/components/dashboard/TreeView/CreateViewBtn.vue +++ b/packages/nc-gui/components/dashboard/TreeView/CreateViewBtn.vue @@ -43,7 +43,9 @@ function onOpenModal({ refreshCommandPalette() - await loadViews() + await loadViews({ + force: true, + }) navigateToView({ view, diff --git a/packages/nc-gui/components/dashboard/TreeView/ProjectNode.vue b/packages/nc-gui/components/dashboard/TreeView/ProjectNode.vue index dcca5420ad..3424a30582 100644 --- a/packages/nc-gui/components/dashboard/TreeView/ProjectNode.vue +++ b/packages/nc-gui/components/dashboard/TreeView/ProjectNode.vue @@ -231,7 +231,7 @@ const addNewProjectChildEntity = async () => { // todo: temp const isSharedBase = ref(false) -const onProjectClick = async (project: NcProject, ignoreNavigation?: boolean, toggleIsExpanded?: boolean) => { +const onTouchStart = async (project: NcProject, ignoreNavigation?: boolean, toggleIsExpanded?: boolean) => { if (!project) { return } @@ -275,6 +275,12 @@ const onProjectClick = async (project: NcProject, ignoreNavigation?: boolean, to } } +const onProjectClick = async (project: NcProject, ignoreNavigation?: boolean, toggleIsExpanded?: boolean) => { + if (isMobileMode.value) return + + onTouchStart(project, ignoreNavigation, toggleIsExpanded) +} + function openErdView(base: BaseType) { activeBaseId.value = base.id isErdModalOpen.value = !isErdModalOpen.value @@ -395,6 +401,7 @@ const DlgProjectDuplicateOnOk = async (jobData: { id: string; project_id: string size="xxsmall" class="nc-sidebar-node-btn nc-sidebar-expand ml-0.75 !xs:visible" @click="onProjectClick(project, true, true)" + @touchstart="onTouchStart(project, true, true)" > -
+
{{ project.title }} -
+
{ const isExpanded = ref(false) const isLoading = ref(false) -const onExpand = async () => { +const onTouchExpand = async () => { if (isExpanded.value) { isExpanded.value = false return @@ -102,6 +104,30 @@ const onExpand = async () => { } } +const onExpand = async () => { + if (isMobileMode.value) return + + onTouchExpand() +} + +const onTouchOpenTable = async () => { + isLoading.value = true + try { + await _openTable(table.value) + } catch (e) { + message.error(await extractSdkResponseErrorMsg(e)) + } finally { + isLoading.value = false + isExpanded.value = true + } +} + +const onOpenTable = async () => { + if (isMobileMode.value) return + + onTouchOpenTable() +} + watch( () => activeView.value?.id, () => { @@ -145,10 +171,17 @@ const isTableOpened = computed(() => { class="table-context flex items-center gap-1 h-full" :data-testid="`nc-tbl-side-node-${table.title}`" @contextmenu="setMenuContext('table', table)" - @click="openTable(table)" + @click="onOpenTable" + @touchstart="onTouchOpenTable" >
- +