Implement list restoration

This commit is contained in:
Maxime Quandalle 2015-08-22 02:06:49 +02:00
parent 4fc72d64b4
commit 04bfbd5bd1
7 changed files with 68 additions and 15 deletions

View file

@ -116,3 +116,17 @@
.board-sidebar.is-open &.is-hidden
z-index: 0
left: 5px
.archived-lists .archived-lists-item
border-top: 1px solid darken(white, 20%)
clear: both
padding: 5px 0
&:first-child
border-top: none
button
float: right
margin: 0
margin-bottom: 5px
padding: 0 2px 0 10px

View file

@ -1,12 +1,25 @@
template(name="archivesSidebar")
each archivedCards
.minicard-wrapper.js-minicard
+minicard(this)
p.quiet
a.js-restore Restore
| -
a.js-delete Delete
if cardIsInArchivedList
p.quiet.small (warning: this card is in an archived list) <br>
else
p.no-items-message No archived cards.
+basicTabs(tabs=tabs)
+tabContent(slug="cards")
each archivedCards
.minicard-wrapper.js-minicard
+minicard(this)
p.quiet
a.js-restore-card Restore
| -
a.js-delete-card Delete
if cardIsInArchivedList
p.quiet.small (warning: this card is in an archived list) <br>
else
p.no-items-message No archived cards.
+tabContent(slug="lists")
ul.archived-lists
each archivedLists
li.archived-lists-item
button.js-restore-list
i.fa.fa-undo
= title
else
li.no-items-message No archived lists.

View file

@ -3,8 +3,19 @@ BlazeComponent.extendComponent({
return 'archivesSidebar';
},
tabs: function() {
return [
{ name: 'Cards', slug: 'cards' },
{ name: 'Lists', slug: 'lists' }
]
},
archivedCards: function() {
return Cards.find({archived: true});
return Cards.find({ archived: true });
},
archivedLists: function() {
return Lists.find({ archived: true });
},
cardIsInArchivedList: function() {
@ -17,15 +28,19 @@ BlazeComponent.extendComponent({
events: function() {
return [{
'click .js-restore': function() {
'click .js-restore-card': function() {
var cardId = this.currentData()._id;
Cards.update(cardId, {$set: {archived: false}});
},
'click .js-delete': Popup.afterConfirm('cardDelete', function() {
'click .js-delete-card': Popup.afterConfirm('cardDelete', function() {
var cardId = this._id;
Cards.remove(cardId);
Popup.close();
})
}),
'click .js-restore-list': function() {
var listId = this.currentData()._id;
Lists.update(listId, {$set: {archived: false}});
}
}];
}
}).register('archivesSidebar');