summaryrefslogtreecommitdiffstats
path: root/client/components/sidebar/sidebarFilters.jade
diff options
context:
space:
mode:
authorMaxime Quandalle <maxime@quandalle.com>2015-05-29 23:35:30 +0200
committerMaxime Quandalle <maxime@quandalle.com>2015-05-30 03:50:14 +0200
commit2c0030da62b9a1e59a55e3429fe514bbd51e1ee3 (patch)
treeb2834702806e59cb05ea02e2c377266eb17d6c8f /client/components/sidebar/sidebarFilters.jade
parent6457615e6ac6717d2175be9483388d4d70ea1c4a (diff)
downloadwekan-2c0030da62b9a1e59a55e3429fe514bbd51e1ee3.tar.gz
wekan-2c0030da62b9a1e59a55e3429fe514bbd51e1ee3.tar.bz2
wekan-2c0030da62b9a1e59a55e3429fe514bbd51e1ee3.zip
Implement multi-selection
The UI and the internal APIs are still rough around the edges but the feature is basically working. You can now select multiple cards and move them together or (un|)assign them a label.
Diffstat (limited to 'client/components/sidebar/sidebarFilters.jade')
-rw-r--r--client/components/sidebar/sidebarFilters.jade57
1 files changed, 57 insertions, 0 deletions
diff --git a/client/components/sidebar/sidebarFilters.jade b/client/components/sidebar/sidebarFilters.jade
new file mode 100644
index 00000000..34b3074f
--- /dev/null
+++ b/client/components/sidebar/sidebarFilters.jade
@@ -0,0 +1,57 @@
+//-
+ XXX There is a *lot* of code duplication in the above templates and in the
+ corresponding JavaScript components. We will probably need the upcoming #let
+ and #each x in y constructors.
+
+template(name="filterSidebar")
+ ul.sidebar-list
+ each currentBoard.labels
+ li
+ a.name.js-toggle-label-filter
+ span.card-label.square(class="card-label-{{color}}")
+ span.sidebar-list-item-description
+ if name
+ = name
+ else
+ span.quiet {{_ "label-default" color}}
+ if Filter.labelIds.isSelected _id
+ i.fa.fa-check
+ hr
+ ul.sidebar-list
+ each currentBoard.members
+ if isActive
+ with getUser userId
+ li(class="{{#if Filter.members.isSelected _id}}active{{/if}}")
+ a.name.js-toogle-member-filter
+ +userAvatar(user=this size="small")
+ span.sidebar-list-item-description
+ = profile.name
+ | (<span class="username">{{ username }}</span>)
+ if Filter.members.isSelected _id
+ i.fa.fa-check
+ hr
+ a.js-clear-all(class="{{#unless Filter.isActive}}disabled{{/unless}}")
+ | {{_ 'filter-clear'}}
+
+template(name="multiselectionSidebar")
+ ul.sidebar-list
+ each currentBoard.labels
+ li
+ a.name.js-toggle-label-multiselection
+ span.card-label.square(class="card-label-{{color}}")
+ span.sidebar-list-item-description
+ if name
+ = name
+ else
+ span.quiet {{_ "label-default" color}}
+ if allSelectedElementHave 'label' _id
+ i.fa.fa-check
+ else if someSelectedElementHave 'label' _id
+ i.fa.fa-ellipsis-h
+ //-
+ XXX We should be able to assign a member to the list of selected cards.
+
+template(name="disambiguateMultiLabelPopup")
+ p What do you want to do?
+ button.wide.js-remove-label Remove the label
+ button.wide.js-add-label Add the label