/** * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors * SPDX-License-Identifier: AGPL-3.0-or-later */ import moment from '@nextcloud/moment' import Vue from 'vue' import logger from './logger.js' import { getComments } from './services/GetComments.js' let ActivityTabPluginView let ActivityTabPluginInstance /** * Register the comments plugins for the Activity sidebar */ export function registerCommentsPlugins() { window.OCA.Activity.registerSidebarAction({ mount: async (el, { context, fileInfo, reload }) => { if (!ActivityTabPluginView) { const { default: ActivityCommmentAction } = await import('./views/ActivityCommentAction.vue') ActivityTabPluginView = Vue.extend(ActivityCommmentAction) } ActivityTabPluginInstance = new ActivityTabPluginView({ parent: context, propsData: { reloadCallback: reload, resourceId: fileInfo.id, }, }) ActivityTabPluginInstance.$mount(el) logger.info('Comments plugin mounted in Activity sidebar action', { fileInfo }) }, unmount: () => { // destroy previous instance if available if (ActivityTabPluginInstance) { ActivityTabPluginInstance.$destroy() } }, }) window.OCA.Activity.registerSidebarEntries(async ({ fileInfo, limit, offset }) => { const { data: comments } = await getComments({ resourceType: 'files', resourceId: fileInfo.id }, { limit, offset }) logger.debug('Loaded comments', { fileInfo, comments }) const { default: CommentView } = await import('./views/ActivityCommentEntry.vue') const CommentsViewObject = Vue.extend(CommentView) return comments.map((comment) => ({ timestamp: moment(comment.props.creationDateTime).toDate().getTime(), mount(element, { context, reload }) { this._CommentsViewInstance = new CommentsViewObject({ parent: context, propsData: { comment, resourceId: fileInfo.id, reloadCallback: reload, }, }) this._CommentsViewInstance.$mount(element) }, unmount() { this._CommentsViewInstance.$destroy() }, })) }) window.OCA.Activity.registerSidebarFilter((activity) => activity.type !== 'comments') logger.info('Comments plugin registered for Activity sidebar action') } distinction Nextcloud server, a safe home for all your data: https://github.com/nextcloud/serverwww-data
aboutsummaryrefslogtreecommitdiffstats
path: root/lib/public/PreConditionNotMetException.php
blob: 12269762a9aaa501738068fa35d326ea7fe6da71 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37