From d8b2349e394edd7867e7ccb14af72271f6f7c315 Mon Sep 17 00:00:00 2001 From: Paul Neubauer Date: Mon, 23 Oct 2023 16:13:21 +0200 Subject: [PATCH] Integrate file editors application menu (#9809) * Integrate file editors in application menu --- .../src/components/OcResource/OcResource.vue | 32 +++- .../OcResourceName/OcResourceName.vue | 37 +++- .../OcTile/__snapshots__/OcTile.spec.ts.snap | 4 +- packages/web-app-admin-settings/src/index.ts | 9 +- packages/web-app-draw-io/src/index.ts | 10 + packages/web-app-files/src/index.ts | 6 +- packages/web-app-text-editor/src/index.ts | 10 + .../web-client/src/helpers/space/types.ts | 10 +- packages/web-pkg/src/apps/types.ts | 8 + packages/web-pkg/src/components/AppTopBar.vue | 47 ++++- .../components/FilesList/ResourceTable.vue | 125 ++++--------- .../src/components/Search/ResourcePreview.vue | 84 +++------ .../actions/files/useFileActions.ts | 2 +- .../filesList/useResourceRouteResolver.ts | 9 +- .../src/composables/folderLink/index.ts | 1 + .../composables/folderLink/useFolderLink.ts | 121 ++++++++++++ packages/web-pkg/src/composables/index.ts | 1 + .../composables/spaces/useGetMatchingSpace.ts | 7 +- .../tests/unit/components/AppTopBar.spec.ts | 52 +++++- .../components/Search/ResourcePreview.spec.ts | 67 +------ .../__snapshots__/AppTopBar.spec.ts.snap | 10 +- .../folderLink/useFolderLink.spec.ts | 172 ++++++++++++++++++ packages/web-runtime/src/App.vue | 33 +++- .../components/Topbar/ApplicationsMenu.vue | 89 ++++++++- .../src/components/Topbar/TopBar.vue | 12 +- .../web-runtime/src/layouts/Application.vue | 11 +- packages/web-runtime/src/store/apps.ts | 4 +- .../Topbar/ApplicationsMenu.spec.ts | 27 ++- .../src/mocks/useGetMatchingSpaceMock.ts | 4 + .../features/smoke/applicationMenu.feature | 17 ++ tests/e2e/cucumber/steps/ui/public.ts | 26 +++ .../support/objects/app-files/page/public.ts | 13 ++ .../objects/app-files/resource/actions.ts | 19 ++ .../support/objects/app-files/utils/editor.ts | 8 + .../support/objects/runtime/application.ts | 5 +- 35 files changed, 822 insertions(+), 270 deletions(-) create mode 100644 packages/web-pkg/src/composables/folderLink/index.ts create mode 100644 packages/web-pkg/src/composables/folderLink/useFolderLink.ts create mode 100644 packages/web-pkg/tests/unit/composables/folderLink/useFolderLink.spec.ts create mode 100644 tests/e2e/cucumber/features/smoke/applicationMenu.feature diff --git a/packages/design-system/src/components/OcResource/OcResource.vue b/packages/design-system/src/components/OcResource/OcResource.vue index 7753d7744ba..20f1d3929e3 100644 --- a/packages/design-system/src/components/OcResource/OcResource.vue +++ b/packages/design-system/src/components/OcResource/OcResource.vue @@ -50,6 +50,7 @@ , required: true }, + /** + * The prefix that will be shown in the path + */ + pathPrefix: { + type: String, + required: false, + default: '' + }, /** * The resource folder link */ @@ -301,6 +310,20 @@ export default defineComponent({ &-indicators { display: flex; + a { + &:hover { + background-color: var(--oc-color-input-bg); + border-radius: 2px; + } + + .text { + &:hover { + color: var(--oc-color-text-default); + text-decoration: underline; + } + } + } + .parent-folder { display: flex; align-items: center; @@ -315,15 +338,6 @@ export default defineComponent({ .text { font-size: 0.8125rem; color: var(--oc-color-text-muted); - &:hover { - color: var(--oc-color-text-default); - text-decoration: underline; - } - } - - &:hover { - background-color: var(--oc-color-input-bg); - border-radius: 2px; } } } diff --git a/packages/design-system/src/components/OcResourceName/OcResourceName.vue b/packages/design-system/src/components/OcResourceName/OcResourceName.vue index ab3a20762be..88eb7a909a5 100644 --- a/packages/design-system/src/components/OcResourceName/OcResourceName.vue +++ b/packages/design-system/src/components/OcResourceName/OcResourceName.vue @@ -21,6 +21,7 @@