From 6f2f9c3b00df6434b6436df8831a17f659fea59f Mon Sep 17 00:00:00 2001 From: underscope Date: Wed, 23 Jul 2025 10:12:11 +0200 Subject: [PATCH 01/14] Add controls to the item list --- .../editor/Sidebar/ActivityNavigation.vue | 6 +- .../Sidebar/TailorTreeview/ListItem.vue | 115 ++++++++++++++++ .../components/TailorTreeview/ItemGroup.vue | 50 ------- .../components/TailorTreeview/ListItem.vue | 85 ------------ .../src/components/TailorTreeview/index.vue | 124 ------------------ 5 files changed, 116 insertions(+), 264 deletions(-) create mode 100644 apps/frontend/app/components/editor/Sidebar/TailorTreeview/ListItem.vue delete mode 100644 packages/core-components/src/components/TailorTreeview/ItemGroup.vue delete mode 100644 packages/core-components/src/components/TailorTreeview/ListItem.vue delete mode 100644 packages/core-components/src/components/TailorTreeview/index.vue diff --git a/apps/frontend/app/components/editor/Sidebar/ActivityNavigation.vue b/apps/frontend/app/components/editor/Sidebar/ActivityNavigation.vue index f649101b9..fd98df7ee 100644 --- a/apps/frontend/app/components/editor/Sidebar/ActivityNavigation.vue +++ b/apps/frontend/app/components/editor/Sidebar/ActivityNavigation.vue @@ -26,7 +26,7 @@ import type { Activity } from '@tailor-cms/interfaces/activity'; import { activity as activityUtils } from '@tailor-cms/utils'; import type { Repository } from '@tailor-cms/interfaces/repository'; import { sortBy } from 'lodash-es'; -import { TailorTreeview } from '@tailor-cms/core-components'; +import TailorTreeview from './TailorTreeview/index.vue'; const { $schemaService } = useNuxtApp() as any; @@ -139,10 +139,6 @@ const navigateToActivity = (activityId: number) => { } :deep(.v-list-item) { - .v-list-item__append { - visibility: hidden; - } - &:hover { .v-list-item-title { font-weight: 600 !important; diff --git a/apps/frontend/app/components/editor/Sidebar/TailorTreeview/ListItem.vue b/apps/frontend/app/components/editor/Sidebar/TailorTreeview/ListItem.vue new file mode 100644 index 000000000..2dbbdc856 --- /dev/null +++ b/apps/frontend/app/components/editor/Sidebar/TailorTreeview/ListItem.vue @@ -0,0 +1,115 @@ + + + diff --git a/packages/core-components/src/components/TailorTreeview/ItemGroup.vue b/packages/core-components/src/components/TailorTreeview/ItemGroup.vue deleted file mode 100644 index 4cd07c23f..000000000 --- a/packages/core-components/src/components/TailorTreeview/ItemGroup.vue +++ /dev/null @@ -1,50 +0,0 @@ - - - - - diff --git a/packages/core-components/src/components/TailorTreeview/ListItem.vue b/packages/core-components/src/components/TailorTreeview/ListItem.vue deleted file mode 100644 index 0f6edc66a..000000000 --- a/packages/core-components/src/components/TailorTreeview/ListItem.vue +++ /dev/null @@ -1,85 +0,0 @@ - - - - - diff --git a/packages/core-components/src/components/TailorTreeview/index.vue b/packages/core-components/src/components/TailorTreeview/index.vue deleted file mode 100644 index d81837559..000000000 --- a/packages/core-components/src/components/TailorTreeview/index.vue +++ /dev/null @@ -1,124 +0,0 @@ - - - From 0fa7f0d25ce1ff7fb83f0b38673dfd9a324ce1a3 Mon Sep 17 00:00:00 2001 From: underscope Date: Thu, 24 Jul 2025 12:38:15 +0200 Subject: [PATCH 02/14] Remove Treview export --- packages/core-components/src/index.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/core-components/src/index.ts b/packages/core-components/src/index.ts index 4e2eb5e88..4b694eb99 100644 --- a/packages/core-components/src/index.ts +++ b/packages/core-components/src/index.ts @@ -5,7 +5,6 @@ export { default as Discussion } from './components/Discussion/index.vue'; export { default as ElementList } from './components/ElementList.vue'; export { default as AddElement } from './components/AddElement/index.vue'; export { default as InlineActivator } from './components/AddElement/InlineActivator.vue'; -export { default as TailorTreeview } from './components/TailorTreeview/index.vue'; export { default as UserAvatar } from './components/UserAvatar.vue'; export { default as ActiveUsers } from './components/ActiveUsers.vue'; export { default as SelectElement } from './components/SelectElement/index.vue'; From be2e28f0ec12d36476c730e3b76b33760e306c8b Mon Sep 17 00:00:00 2001 From: underscope Date: Thu, 24 Jul 2025 14:14:11 +0200 Subject: [PATCH 03/14] Modify ListItem controls --- .../Sidebar/TailorTreeview/ListItem.vue | 139 ++++++++++-------- 1 file changed, 81 insertions(+), 58 deletions(-) diff --git a/apps/frontend/app/components/editor/Sidebar/TailorTreeview/ListItem.vue b/apps/frontend/app/components/editor/Sidebar/TailorTreeview/ListItem.vue index 2dbbdc856..31ece94b3 100644 --- a/apps/frontend/app/components/editor/Sidebar/TailorTreeview/ListItem.vue +++ b/apps/frontend/app/components/editor/Sidebar/TailorTreeview/ListItem.vue @@ -1,63 +1,72 @@ + + From cbb356f09dea6e89d4582c51819764aff951af8f Mon Sep 17 00:00:00 2001 From: underscope Date: Fri, 25 Jul 2025 10:43:26 +0200 Subject: [PATCH 04/14] Add index and siblings to tree structure --- packages/utils/src/activity.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/utils/src/activity.ts b/packages/utils/src/activity.ts index eb60a7855..f470ff2c9 100644 --- a/packages/utils/src/activity.ts +++ b/packages/utils/src/activity.ts @@ -65,11 +65,12 @@ export function toTreeFormat( const { parentId = null, level = 1, maxLevel = 20 } = _internals; if (level > maxLevel) throw new Error('Max level exceeded'); const parentActivities = filter(activities, { parentId }); - return filterNodesFn(parentActivities).map((activity) => ({ + return filterNodesFn(parentActivities).map((activity, index) => ({ ...activity, name: activity.data.name, title: activity.data.name, level, + index, children: toTreeFormat( activities, { filterNodesFn, processNodeFn }, @@ -79,6 +80,7 @@ export function toTreeFormat( level: level + 1, }, ), + siblings: parentActivities, ...(processNodeFn && processNodeFn(activity)), })); } From 37723b4a548324b78bba0ada420446992d2b0f49 Mon Sep 17 00:00:00 2001 From: underscope Date: Fri, 25 Jul 2025 10:43:46 +0200 Subject: [PATCH 05/14] Update Treview component location --- .../Sidebar/TailorTreeview/ItemGroup.vue | 52 ++++++++ .../editor/Sidebar/TailorTreeview/index.vue | 124 ++++++++++++++++++ 2 files changed, 176 insertions(+) create mode 100644 apps/frontend/app/components/editor/Sidebar/TailorTreeview/ItemGroup.vue create mode 100644 apps/frontend/app/components/editor/Sidebar/TailorTreeview/index.vue diff --git a/apps/frontend/app/components/editor/Sidebar/TailorTreeview/ItemGroup.vue b/apps/frontend/app/components/editor/Sidebar/TailorTreeview/ItemGroup.vue new file mode 100644 index 000000000..2847c5569 --- /dev/null +++ b/apps/frontend/app/components/editor/Sidebar/TailorTreeview/ItemGroup.vue @@ -0,0 +1,52 @@ + + + + + diff --git a/apps/frontend/app/components/editor/Sidebar/TailorTreeview/index.vue b/apps/frontend/app/components/editor/Sidebar/TailorTreeview/index.vue new file mode 100644 index 000000000..d81837559 --- /dev/null +++ b/apps/frontend/app/components/editor/Sidebar/TailorTreeview/index.vue @@ -0,0 +1,124 @@ + + + From 283d9c5508f20078bf3c3e413b00c7d4d883dcb2 Mon Sep 17 00:00:00 2001 From: underscope Date: Fri, 25 Jul 2025 11:03:15 +0200 Subject: [PATCH 06/14] Tweak Activity Menu - Adapt for Treview --- .../common/ActivityOptions/ActivityMenu.vue | 17 ++++++++++++----- .../editor/Sidebar/TailorTreeview/ListItem.vue | 7 ++----- 2 files changed, 14 insertions(+), 10 deletions(-) diff --git a/apps/frontend/app/components/common/ActivityOptions/ActivityMenu.vue b/apps/frontend/app/components/common/ActivityOptions/ActivityMenu.vue index 22b6a5112..3bcc0e795 100644 --- a/apps/frontend/app/components/common/ActivityOptions/ActivityMenu.vue +++ b/apps/frontend/app/components/common/ActivityOptions/ActivityMenu.vue @@ -1,5 +1,5 @@ @@ -225,7 +225,7 @@ $background-color: rgb(var(--v-theme-primary-darken-2)); } } -.sub-activity { +.activity-wrapper .activity-wrapper { margin-left: 1.25rem; } diff --git a/apps/frontend/app/pages/repository/[[id]]/root/structure.vue b/apps/frontend/app/pages/repository/[[id]]/root/structure.vue index 7a017f3e7..e475f9be9 100644 --- a/apps/frontend/app/pages/repository/[[id]]/root/structure.vue +++ b/apps/frontend/app/pages/repository/[[id]]/root/structure.vue @@ -20,6 +20,7 @@ :list="rootActivities" :move="repositoryStore.isValidDrop" class="mt-5" + animation="150" group="activities" item-key="uid" @update="(data) => reorder(data, rootActivities)" @@ -151,6 +152,10 @@ onMounted(() => {