diff --git a/lib/AppInfo/Application.php b/lib/AppInfo/Application.php index 95b1d155d..085b45353 100644 --- a/lib/AppInfo/Application.php +++ b/lib/AppInfo/Application.php @@ -92,7 +92,7 @@ class Application extends App implements IBootstrap { $container = $this->getContainer(); $eventDispatcher = $container->get(IEventDispatcher::class); $eventDispatcher->addListener(RenderReferenceEvent::class, function () { - Util::addScript(self::APP_ID, self::APP_ID . '-card-reference'); + Util::addScript(self::APP_ID, self::APP_ID . '-reference'); }); } diff --git a/src/init-card-reference.js b/src/init-reference.js similarity index 66% rename from src/init-card-reference.js rename to src/init-reference.js index 618a9065d..25b630a37 100644 --- a/src/init-card-reference.js +++ b/src/init-reference.js @@ -23,6 +23,8 @@ import { registerWidget } from '@nextcloud/vue-richtext' import { Tooltip } from '@nextcloud/vue' import Vue from 'vue' import CardReferenceWidget from './views/CardReferenceWidget.vue' +import BoardReferenceWidget from './views/BoardReferenceWidget.vue' +import CommentReferenceWidget from './views/CommentReferenceWidget.vue' import { translate, translatePlural } from '@nextcloud/l10n' @@ -48,3 +50,33 @@ registerWidget('deck-card', (el, { richObjectType, richObject, accessible }) => }, }).$mount(el) }) + +registerWidget('deck-board', (el, { richObjectType, richObject, accessible }) => { + el.parentNode.style['max-width'] = '400px' + el.parentNode.style['margin-left'] = '0' + el.parentNode.style['margin-right'] = '0' + + const Widget = Vue.extend(BoardReferenceWidget) + new Widget({ + propsData: { + richObjectType, + richObject, + accessible, + }, + }).$mount(el) +}) + +registerWidget('deck-comment', (el, { richObjectType, richObject, accessible }) => { + el.parentNode.style['max-width'] = '400px' + el.parentNode.style['margin-left'] = '0' + el.parentNode.style['margin-right'] = '0' + + const Widget = Vue.extend(CommentReferenceWidget) + new Widget({ + propsData: { + richObjectType, + richObject, + accessible, + }, + }).$mount(el) +}) diff --git a/src/views/BoardReferenceWidget.vue b/src/views/BoardReferenceWidget.vue new file mode 100644 index 000000000..06ddc49db --- /dev/null +++ b/src/views/BoardReferenceWidget.vue @@ -0,0 +1,128 @@ + + + + + + + + + {{ board.title }} + + + + + {{ t('deck', 'Owner') + ': ' }} + + + + + + + + diff --git a/src/views/CardReferenceWidget.vue b/src/views/CardReferenceWidget.vue index a0d711690..89e0d9f62 100644 --- a/src/views/CardReferenceWidget.vue +++ b/src/views/CardReferenceWidget.vue @@ -1,7 +1,7 @@ + + + + + + + + {{ card.title }} + + + + + + {{ dueDate }} + + + + + {{ t('deck', '{stack} in {board}', { stack: stack.title, board: board.title }) }} + + + + + + {{ label.title }} + + + + + + + + + + + + + + + + + + + + + + + diff --git a/webpack.js b/webpack.js index d5db80b35..76d7462a5 100644 --- a/webpack.js +++ b/webpack.js @@ -12,7 +12,7 @@ webpackConfig.entry = { dashboard: path.join(__dirname, 'src', 'init-dashboard.js'), calendar: path.join(__dirname, 'src', 'init-calendar.js'), talk: path.join(__dirname, 'src', 'init-talk.js'), - 'card-reference': path.join(__dirname, 'src', 'init-card-reference.js'), + reference: path.join(__dirname, 'src', 'init-reference.js'), } webpackConfig.stats = {