diff --git a/src/components/boards/BoardItem.vue b/src/components/boards/BoardItem.vue index d702ec303..a5fb5c6de 100644 --- a/src/components/boards/BoardItem.vue +++ b/src/components/boards/BoardItem.vue @@ -25,13 +25,14 @@ :title="board.title" :to="routeTo" class="board-list-row" tag="div">
-
+
-
{{ board.text }}
+
{{ board.title }}
- +
@@ -57,6 +58,12 @@ export default { name: 'board', params: { id: this.board.id } } + }, + limitedAcl() { + return [...this.board.acl].splice(0, 5) + }, + otherAcl() { + return [...this.board.acl].splice(6).map((item) => item.participant.displayname || item.participant).join(', ') } } } @@ -87,6 +94,10 @@ export default { border-radius: 50%; height: 32px; width: 32px; + margin-left: 3px; + &.icon-more { + background-color:var(--color-background-dark); + } } } diff --git a/src/helpers/boardToMenuItem.js b/src/helpers/boardToMenuItem.js deleted file mode 100644 index b334f7863..000000000 --- a/src/helpers/boardToMenuItem.js +++ /dev/null @@ -1,88 +0,0 @@ -/* - * @copyright Copyright (c) 2018 Michael Weimann - * - * @author Michael Weimann - * - * @license GNU AGPL version 3 or any later version - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - * - */ - -import store from './../store/main' - -function boardActions(item, board) { - const actions = [{ - action: () => { - }, - icon: 'icon-edit', - text: t('deck', 'Edit board') - }] - - if (!board.archived) { - actions.push({ - action: function() { - store.dispatch('archiveBoard', board) - }, - icon: 'icon-archive', - text: t('deck', 'Archive board') - }) - } - - actions.push({ - action: () => { - item.loading = true - item.utils.actions = [] - item.menuOpened = false - }, - icon: 'icon-delete', - text: t('deck', 'Delete board') - }) - - actions.push({ - action: () => { - }, - icon: 'icon-settings', - text: t('deck', 'Board details') - }) - - return actions -} - -/** - * Maps an API board to a menu item. - * @param board - * @returns {{id: *, classes: Array, bullet: string, text: *, router: {name: string, params: {id: *}}, utils: {actions: *[]}}} - */ -export const boardToMenuItem = board => { - - const item = { - id: board.id, - key: board.id, - classes: [], - bullet: `#${board.color}`, - text: board.title, - owner: board.owner, - router: { - name: 'board', - params: { id: board.id } - }, - utils: {}, - board: board - } - - item.utils.actions = boardActions(item, board) - - return item -} diff --git a/src/store/main.js b/src/store/main.js index 0a2d35143..f7e2d4772 100644 --- a/src/store/main.js +++ b/src/store/main.js @@ -23,7 +23,6 @@ import Vue from 'vue' import Vuex from 'vuex' import axios from 'nextcloud-axios' -import { boardToMenuItem } from './../helpers/boardToMenuItem' import { BoardApi } from './../services/BoardApi' import stack from './stack' import card from './card' @@ -86,7 +85,7 @@ export default new Vuex.Store({ || (state.boardFilter === BOARD_FILTERS.ARCHIVED && board.archived === true) || (state.boardFilter === BOARD_FILTERS.SHARED && board.shared === 1) }) - return boards.map(boardToMenuItem) + return boards }, currentBoardLabels: state => { return state.currentBoard.labels