From d6518196cc9c855e11535e9cb3cb48156741b5de Mon Sep 17 00:00:00 2001 From: Ferdinand Thiessen Date: Tue, 30 Jul 2024 18:52:59 +0200 Subject: fix(files_sharing): Add missing "note to recipient" Signed-off-by: Ferdinand Thiessen --- .../src/files_headers/noteToRecipient.ts | 38 ++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 apps/files_sharing/src/files_headers/noteToRecipient.ts (limited to 'apps/files_sharing/src/files_headers') diff --git a/apps/files_sharing/src/files_headers/noteToRecipient.ts b/apps/files_sharing/src/files_headers/noteToRecipient.ts new file mode 100644 index 00000000000..31e383d3634 --- /dev/null +++ b/apps/files_sharing/src/files_headers/noteToRecipient.ts @@ -0,0 +1,38 @@ +/** + * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later + */ +import type { ComponentPublicInstance, VueConstructor } from 'vue' + +import { Folder, Header, registerFileListHeaders } from '@nextcloud/files' +import Vue from 'vue' + +type IFilesHeaderNoteToRecipient = ComponentPublicInstance & { updateFolder: (folder: Folder) => void } + +/** + * Register the "note to recipient" as a files list header + */ +export default function registerNoteToRecipient() { + let FilesHeaderNoteToRecipient: VueConstructor + let instance: IFilesHeaderNoteToRecipient + + registerFileListHeaders(new Header({ + id: 'note-to-recipient', + order: 0, + // Always if there is a note + enabled: (folder: Folder) => Boolean(folder.attributes.note), + // Update the root folder if needed + updated: (folder: Folder) => { + instance.updateFolder(folder) + }, + // render simply spawns the component + render: async (el: HTMLElement, folder: Folder) => { + if (FilesHeaderNoteToRecipient === undefined) { + const { default: component } = await import('../views/FilesHeaderNoteToRecipient.vue') + FilesHeaderNoteToRecipient = Vue.extend(component) + } + instance = new FilesHeaderNoteToRecipient().$mount(el) as unknown as IFilesHeaderNoteToRecipient + instance.updateFolder(folder) + }, + })) +} -- cgit v1.2.3