Compare commits
1 Commits
enh/archiv
...
enh/unshar
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
18621caa60 |
@@ -1,66 +0,0 @@
|
|||||||
<template>
|
|
||||||
<div>
|
|
||||||
<ul>
|
|
||||||
<li v-for="archivedCard in archivedCards" :key="archivedCard.id">
|
|
||||||
<CardItem :id="archivedCard.id" />
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
import { mapGetters } from 'vuex'
|
|
||||||
import relativeDate from '../../mixins/relativeDate'
|
|
||||||
import CardItem from '../cards/CardItem'
|
|
||||||
|
|
||||||
export default {
|
|
||||||
name: 'ArchivedTabSidebar',
|
|
||||||
components: {
|
|
||||||
CardItem,
|
|
||||||
},
|
|
||||||
mixins: [ relativeDate ],
|
|
||||||
props: {
|
|
||||||
board: {
|
|
||||||
type: Object,
|
|
||||||
default: undefined,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
data() {
|
|
||||||
return {
|
|
||||||
isLoading: false,
|
|
||||||
copiedDeletedStack: null,
|
|
||||||
copiedDeletedCard: null,
|
|
||||||
}
|
|
||||||
},
|
|
||||||
computed: {
|
|
||||||
...mapGetters([
|
|
||||||
'archivedCards',
|
|
||||||
]),
|
|
||||||
|
|
||||||
},
|
|
||||||
created() {
|
|
||||||
this.getData()
|
|
||||||
},
|
|
||||||
methods: {
|
|
||||||
async getData() {
|
|
||||||
this.isLoading = true
|
|
||||||
await this.$store.dispatch('fetchDeletedItems', this.board.id)
|
|
||||||
this.isLoading = false
|
|
||||||
},
|
|
||||||
stackUndoDelete(deletedStack) {
|
|
||||||
const copiedDeletedStack = Object.assign({}, deletedStack)
|
|
||||||
copiedDeletedStack.deletedAt = 0
|
|
||||||
this.$store.dispatch('stackUndoDelete', copiedDeletedStack)
|
|
||||||
},
|
|
||||||
cardUndoDelete(deletedCard) {
|
|
||||||
const copiedDeletedCard = Object.assign({}, deletedCard)
|
|
||||||
copiedDeletedCard.deletedAt = 0
|
|
||||||
this.$store.dispatch('cardUndoDelete', copiedDeletedCard)
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<style scoped lang="scss">
|
|
||||||
|
|
||||||
</style>
|
|
||||||
@@ -39,17 +39,9 @@
|
|||||||
<TagsTabSidebar :board="board" />
|
<TagsTabSidebar :board="board" />
|
||||||
</AppSidebarTab>
|
</AppSidebarTab>
|
||||||
|
|
||||||
<AppSidebarTab
|
|
||||||
id="archived"
|
|
||||||
:order="2"
|
|
||||||
:name="t('deck', 'Archived cards')"
|
|
||||||
icon="icon-archive">
|
|
||||||
<ArchivedTabSidebar :board="board" />
|
|
||||||
</AppSidebarTab>
|
|
||||||
|
|
||||||
<AppSidebarTab v-if="canEdit"
|
<AppSidebarTab v-if="canEdit"
|
||||||
id="deleted"
|
id="deleted"
|
||||||
:order="3"
|
:order="2"
|
||||||
:name="t('deck', 'Deleted items')"
|
:name="t('deck', 'Deleted items')"
|
||||||
icon="icon-delete">
|
icon="icon-delete">
|
||||||
<DeletedTabSidebar :board="board" />
|
<DeletedTabSidebar :board="board" />
|
||||||
@@ -57,7 +49,7 @@
|
|||||||
|
|
||||||
<AppSidebarTab v-if="hasActivity"
|
<AppSidebarTab v-if="hasActivity"
|
||||||
id="activity"
|
id="activity"
|
||||||
:order="4"
|
:order="3"
|
||||||
:name="t('deck', 'Timeline')"
|
:name="t('deck', 'Timeline')"
|
||||||
icon="icon-activity">
|
icon="icon-activity">
|
||||||
<TimelineTabSidebar :board="board" />
|
<TimelineTabSidebar :board="board" />
|
||||||
@@ -70,7 +62,6 @@ import { mapState, mapGetters } from 'vuex'
|
|||||||
import SharingTabSidebar from './SharingTabSidebar'
|
import SharingTabSidebar from './SharingTabSidebar'
|
||||||
import TagsTabSidebar from './TagsTabSidebar'
|
import TagsTabSidebar from './TagsTabSidebar'
|
||||||
import DeletedTabSidebar from './DeletedTabSidebar'
|
import DeletedTabSidebar from './DeletedTabSidebar'
|
||||||
import ArchivedTabSidebar from './ArchivedTabSidebar'
|
|
||||||
import TimelineTabSidebar from './TimelineTabSidebar'
|
import TimelineTabSidebar from './TimelineTabSidebar'
|
||||||
import { AppSidebar, AppSidebarTab } from '@nextcloud/vue'
|
import { AppSidebar, AppSidebarTab } from '@nextcloud/vue'
|
||||||
|
|
||||||
@@ -85,7 +76,6 @@ export default {
|
|||||||
TagsTabSidebar,
|
TagsTabSidebar,
|
||||||
DeletedTabSidebar,
|
DeletedTabSidebar,
|
||||||
TimelineTabSidebar,
|
TimelineTabSidebar,
|
||||||
ArchivedTabSidebar,
|
|
||||||
},
|
},
|
||||||
props: {
|
props: {
|
||||||
id: {
|
id: {
|
||||||
|
|||||||
@@ -33,7 +33,7 @@
|
|||||||
<ActionButton v-if="showArchived === false" icon="icon-delete" @click="deleteCard()">
|
<ActionButton v-if="showArchived === false" icon="icon-delete" @click="deleteCard()">
|
||||||
{{ t('deck', 'Delete card') }}
|
{{ t('deck', 'Delete card') }}
|
||||||
</ActionButton>
|
</ActionButton>
|
||||||
<ActionButton v-if="showArchived === false" icon="icon-external" @click.stop="modalShow=true">
|
<ActionButton icon="icon-external" @click.stop="modalShow=true">
|
||||||
{{ t('deck', 'Move card') }}
|
{{ t('deck', 'Move card') }}
|
||||||
</ActionButton>
|
</ActionButton>
|
||||||
<ActionButton icon="icon-settings-dark" @click="openCard">
|
<ActionButton icon="icon-settings-dark" @click="openCard">
|
||||||
|
|||||||
@@ -236,6 +236,18 @@ export default {
|
|||||||
text: t('deck', 'Board details'),
|
text: t('deck', 'Board details'),
|
||||||
})
|
})
|
||||||
|
|
||||||
|
if (this.board.shared) {
|
||||||
|
actions.push({
|
||||||
|
action: () => {
|
||||||
|
this.hideMenu()
|
||||||
|
this.loading = true
|
||||||
|
this.$store.dispatch('unshareBoard', this.board)
|
||||||
|
},
|
||||||
|
icon: 'icon-delete',
|
||||||
|
text: t('deck', 'Unshare board'),
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return actions
|
return actions
|
||||||
|
|||||||
@@ -90,9 +90,6 @@ export default {
|
|||||||
cardById: state => (id) => {
|
cardById: state => (id) => {
|
||||||
return state.cards.find((card) => card.id === id)
|
return state.cards.find((card) => card.id === id)
|
||||||
},
|
},
|
||||||
archivedCards: state => {
|
|
||||||
return state.cards.filter(card => card.archived === true)
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
mutations: {
|
mutations: {
|
||||||
clearCards(state) {
|
clearCards(state) {
|
||||||
|
|||||||
@@ -417,5 +417,11 @@ export default new Vuex.Store({
|
|||||||
dispatch('loadBoardById', acl.boardId)
|
dispatch('loadBoardById', acl.boardId)
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
unshareBoard({ commit }, board) {
|
||||||
|
apiClient.unshareBoard(board)
|
||||||
|
.then((board) => {
|
||||||
|
commit('removeBoard', board)
|
||||||
|
})
|
||||||
|
},
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|||||||
Reference in New Issue
Block a user