template(name="sidebar") .board-sidebar.sidebar(class="{{#if isOpen}}is-open{{/if}}") //a.sidebar-tongue.js-toggle-sidebar( // class="{{#if isTongueHidden}}is-hidden{{/if}}", // title="{{showTongueTitle}}") // i.fa.fa-navicon .sidebar-shadow .sidebar-content.sidebar-shortcuts a.board-header-btn.js-shortcuts i.fa.fa-keyboard-o span {{_ 'keyboard-shortcuts' }} .sidebar-content.js-board-sidebar-content //a.hide-btn.js-hide-sidebar // i.fa.fa-navicon unless isDefaultView h2 a.fa.fa-chevron-left.js-back-home = getViewTitle +Template.dynamic(template=getViewTemplate) template(name='homeSidebar') +membersWidget hr +labelsWidget ul#cards.label-text-hidden a.flex.js-toggle-minicard-label-text span {{_ 'hide-minicard-label-text'}} b   .materialCheckBox(class="{{#if hiddenMinicardLabelText}}is-checked{{/if}}") hr unless currentUser.isNoComments h3 i.fa.fa-comments-o | {{_ 'activities'}} +activities(mode="board") template(name="membersWidget") .board-widget.board-widget-members h3 i.fa.fa-users | {{_ 'members'}} unless currentUser.isCommentOnly unless currentUser.isWorker a.board-header-btn.js-open-board-menu(title="{{_ 'boardMenuPopup-title'}}").right i.board-header-btn-icon.fa.fa-cog .board-widget-content each currentBoard.activeMembers +userAvatar(userId=this.userId showStatus=true) if isSandstorm if currentUser.isBoardMember a.member.add-member.sandstorm-powerbox-request-identity i.fa.fa-plus else if currentUser.isBoardAdmin a.member.add-member.js-manage-board-members i.fa.fa-plus .clearfix if isInvited hr p i.fa.fa-exclamation-circle | {{_ 'just-invited'}} button.js-member-invite-accept.primary {{_ 'accept'}} button.js-member-invite-decline {{_ 'decline'}} template(name="boardChangeColorPopup") .board-backgrounds-list.clearfix each backgroundColors .board-background-select.js-select-background span.background-box(class="board-color-{{this}}") span {{this}} if isSelected i.fa.fa-check template(name="boardCardSettingsPopup") form.board-card-settings h3 {{_ 'show-on-card'}} div.check-div a.flex.js-field-has-receiveddate(class="{{#if allowsReceivedDate}}is-checked{{/if}}") .materialCheckBox(class="{{#if allowsReceivedDate}}is-checked{{/if}}") span i.fa.fa-sign-out | {{_ 'card-received'}} div.check-div a.flex.js-field-has-startdate(class="{{#if allowsStartDate}}is-checked{{/if}}") .materialCheckBox(class="{{#if allowsStartDate}}is-checked{{/if}}") span i.fa.fa-hourglass-start | {{_ 'card-start'}} div.check-div a.flex.js-field-has-duedate(class="{{#if allowsDueDate}}is-checked{{/if}}") .materialCheckBox(class="{{#if allowsDueDate}}is-checked{{/if}}") span i.fa.fa-sign-in | {{_ 'card-due'}} div.check-div a.flex.js-field-has-enddate(class="{{#if allowsEndDate}}is-checked{{/if}}") .materialCheckBox(class="{{#if allowsEndDate}}is-checked{{/if}}") span i.fa.fa-hourglass-end | {{_ 'card-end'}} div.check-div a.flex.js-field-has-members(class="{{#if allowsMembers}}is-checked{{/if}}") .materialCheckBox(class="{{#if allowsMembers}}is-checked{{/if}}") span i.fa.fa-users | {{_ 'members'}} div.check-div a.flex.js-field-has-assignee(class="{{#if allowsAssignee}}is-checked{{/if}}") .materialCheckBox(class="{{#if allowsAssignee}}is-checked{{/if}}") span i.fa.fa-user | {{_ 'assignee'}} div.check-div a.flex.js-field-has-assigned-by(class="{{#if allowsAssignedBy}}is-checked{{/if}}") .materialCheckBox(class="{{#if allowsAssignedBy}}is-checked{{/if}}") span i.fa.fa-shopping-cart | {{_ 'assigned-by'}} div.check-div a.flex.js-field-has-requested-by(class="{{#if allowsRequestedBy}}is-checked{{/if}}") .materialCheckBox(class="{{#if allowsRequestedBy}}is-checked{{/if}}") span i.fa.fa-user-plus | {{_ 'requested-by'}} div.check-div a.flex.js-field-has-labels(class="{{#if allowsLabels}}is-checked{{/if}}") .materialCheckBox(class="{{#if allowsLabels}}is-checked{{/if}}") span i.fa.fa-tags | {{_ 'labels'}} div.check-div a.flex.js-field-has-description-title(class="{{#if allowsDescriptionTitle}}is-checked{{/if}}") .materialCheckBox(class="{{#if allowsDescriptionTitle}}is-checked{{/if}}") span i.fa.fa-align-left | {{_ 'description'}} | {{_ 'title'}} div.check-div a.flex.js-field-has-description-text(class="{{#if allowsDescriptionText}}is-checked{{/if}}") .materialCheckBox(class="{{#if allowsDescriptionText}}is-checked{{/if}}") span i.fa.fa-align-left | {{_ 'description'}} | {{_ 'custom-field-text'}} div.check-div a.flex.js-field-has-checklists(class="{{#if allowsChecklists}}is-checked{{/if}}") .materialCheckBox(class="{{#if allowsChecklists}}is-checked{{/if}}") span i.fa.fa-check | {{_ 'checklists'}} div.check-div a.flex.js-field-has-subtasks(class="{{#if allowsSubtasks}}is-checked{{/if}}") .materialCheckBox(class="{{#if allowsSubtasks}}is-checked{{/if}}") span i.fa.fa-sitemap | {{_ 'subtasks'}} div.check-div a.flex.js-field-has-attachments(class="{{#if allowsAttachments}}is-checked{{/if}}") .materialCheckBox(class="{{#if allowsAttachments}}is-checked{{/if}}") span i.fa.fa-paperclip | {{_ 'attachments'}} //div.check-div // a.flex.js-field-has-comments(class="{{#if allowsComments}}is-checked{{/if}}") // .materialCheckBox(class="{{#if allowsComments}}is-checked{{/if}}") // span // i.fa.fa-comment-o // | {{_ 'comment'}} //div.check-div // a.flex.js-field-has-activities(class="{{#if allowsActivities}}is-checked{{/if}}") // .materialCheckBox(class="{{#if allowsActivities}}is-checked{{/if}}") // span // i.fa.fa-history // | {{_ 'activities'}} template(name="boardSubtaskSettingsPopup") form.board-subtask-settings h3 {{_ 'show-parent-in-minicard'}} a#prefix-with-full-path.flex.js-field-show-parent-in-minicard(class="{{#if $eq presentParentTask 'prefix-with-full-path'}}is-checked{{/if}}") .materialCheckBox(class="{{#if $eq presentParentTask 'prefix-with-full-path'}}is-checked{{/if}}") span {{_ 'prefix-with-full-path'}} a#prefix-with-parent.flex.js-field-show-parent-in-minicard(class="{{#if $eq presentParentTask 'prefix-with-parent'}}is-checked{{/if}}") .materialCheckBox(class="{{#if $eq presentParentTask 'prefix-with-parent'}}is-checked{{/if}}") span {{_ 'prefix-with-parent'}} a#subtext-with-full-path.flex.js-field-show-parent-in-minicard(class="{{#if $eq presentParentTask 'subtext-with-full-path'}}is-checked{{/if}}") .materialCheckBox(class="{{#if $eq presentParentTask 'subtext-with-full-path'}}is-checked{{/if}}") span {{_ 'subtext-with-full-path'}} a#subtext-with-parent.flex.js-field-show-parent-in-minicard(class="{{#if $eq presentParentTask 'subtext-with-parent'}}is-checked{{/if}}") .materialCheckBox(class="{{#if $eq presentParentTask 'subtext-with-parent'}}is-checked{{/if}}") span {{_ 'subtext-with-parent'}} a#no-parent.flex.js-field-show-parent-in-minicard(class="{{#if $eq presentParentTask 'no-parent'}}is-checked{{/if}}") .materialCheckBox(class="{{#if $eq presentParentTask 'no-parent'}}is-checked{{/if}}") span {{_ 'no-parent'}} div hr div.check-div a.flex.js-field-has-subtasks(class="{{#if allowsSubtasks}}is-checked{{/if}}") .materialCheckBox(class="{{#if allowsSubtasks}}is-checked{{/if}}") span {{_ 'show-subtasks-field'}} label | {{_ 'deposit-subtasks-board'}} select.js-field-deposit-board(disabled="{{#unless allowsSubtasks}}disabled{{/unless}}") each boards if isBoardSelected option(value=_id selected="selected") {{title}} else option(value=_id) {{title}} if isNullBoardSelected option(value='null' selected="selected") {{_ 'custom-field-dropdown-none'}} else option(value='null') {{_ 'custom-field-dropdown-none'}} div hr label | {{_ 'deposit-subtasks-list'}} select.js-field-deposit-list(disabled="{{#unless hasLists}}disabled{{/unless}}") each lists if isListSelected option(value=_id selected="selected") {{title}} else option(value=_id) {{title}} template(name="chooseBoardSource") ul.pop-over-list li a(href="{{pathFor '/import/trello'}}") {{_ 'from-trello'}} li a(href="{{pathFor '/import/wekan'}}") {{_ 'from-wekan'}} li a(href="{{pathFor '/import/csv'}}") {{_ 'from-csv'}} template(name="archiveBoardPopup") p {{_ 'close-board-pop'}} button.js-confirm.negate.full(type="submit") i.fa.fa-archive | {{_ 'archive'}} template(name="outgoingWebhooksPopup") each integrations form.integration-form a.flex span {{_ 'disable-webhook'}} b   .materialCheckBox(class="{{#unless enabled}}is-checked{{/unless}}") input.js-outgoing-webhooks-title(placeholder="{{_ 'webhook-title'}}" type="text" name="title" value=title) input.js-outgoing-webhooks-url(type="text" name="url" value=url) input.js-outgoing-webhooks-token(placeholder="{{_ 'webhook-token' }}" type="text" value=token name="token") select.js-outgoing-webhooks-type(name="type") each _type in types if($eq _type this.type) option(value=_type selected="selected") {{_ _type}} else option(value=_type) {{_ _type}} input(type="hidden" value=this.type name="_type") input(type="hidden" value=_id name="id") input.primary.wide(type="submit" value="{{_ 'save'}}") form.integration-form input.js-outgoing-webhooks-title(placeholder="{{_ 'webhook-title'}}" type="text" name="title") input.js-outgoing-webhooks-url(placeholder="{{_ 'URL' }}" type="text" name="url") input.js-outgoing-webhooks-token(placeholder="{{_ 'webhook-token' }}" type="text" name="token") select.js-outgoing-webhooks-type(name="type") each _type in types option(value=_type) {{_ _type}} input.primary.wide(type="submit" value="{{_ 'create'}}") template(name="boardMenuPopup") ul.pop-over-list li a.js-open-rules-view(title="{{_ 'rules'}}") i.fa.fa-magic | {{_ 'rules'}} li a.js-custom-fields i.fa.fa-list-alt | {{_ 'custom-fields'}} li a.js-open-archives i.fa.fa-archive | {{_ 'archived-items'}} if currentUser.isBoardAdmin li a.js-change-board-color i.fa.fa-paint-brush | {{_ 'board-change-color'}} //- XXX Language should be handled by sandstorm, but for now display a language selection link in the board menu. This link is normally present in the header bar that is not displayed on sandstorm. if isSandstorm li a.js-change-language i.fa.fa-flag | {{_ 'language'}} unless isSandstorm if currentUser.isBoardAdmin hr ul.pop-over-list if withApi li a.js-export-board i.fa.fa-share-alt | {{_ 'export-board'}} li a.js-outgoing-webhooks i.fa.fa-globe | {{_ 'outgoing-webhooks'}} li a.js-card-settings i.fa.fa-id-card-o | {{_ 'card-settings'}} li a.js-subtask-settings i.fa.fa-sitemap | {{_ 'subtask-settings'}} unless currentBoard.isTemplatesBoard hr ul.pop-over-list li a.js-archive-board i.fa.fa-arrow-right i.fa.fa-archive | {{_ 'archive-board'}} if isSandstorm hr ul.pop-over-list li a.js-export-board i.fa.fa-share-alt | {{_ 'export-board'}} li a.js-import-board i.fa.fa-share-alt i.fa.fa-sign-in | {{_ 'import-board-c'}} li a.js-archive-board i.fa.fa-arrow-right i.fa.fa-archive | {{_ 'archive-board'}} li a.js-outgoing-webhooks i.fa.fa-globe | {{_ 'outgoing-webhooks'}} hr ul.pop-over-list li a.js-card-settings i.fa.fa-id-card-o | {{_ 'card-settings'}} hr ul.pop-over-list li a.js-subtask-settings i.fa.fa-sitemap | {{_ 'subtask-settings'}} template(name="exportBoard") ul.pop-over-list li a.download-json-link(href="{{exportUrl}}", download="{{exportJsonFilename}}") i.fa.fa-share-alt | {{_ 'export-board-json'}} //li // a(href="{{exportCsvUrl}}", download="{{exportCsvFilename}}") // i.fa.fa-share-alt // | {{_ 'export-board-csv'}} //li // a(href="{{exportTsvUrl}}", download="{{exportTsvFilename}}") // i.fa.fa-share-alt // | {{_ 'export-board-tsv'}} li a.html-export-board i.fa.fa-archive | {{_ 'export-board-html'}} template(name="labelsWidget") .board-widget.board-widget-labels h3 i.fa.fa-tags | {{_ 'labels'}} .board-widget-content each currentBoard.labels a.card-label(class="card-label-{{color}}" class="{{#if currentUser.isNotCommentOnly}}{{#if currentUser.isNotWorker}}js-label{{/if}}{{/if}}") span.card-label-name +viewer = name if currentUser.isBoardAdmin a.card-label.add-label.js-add-label i.fa.fa-plus template(name="memberPopup") .board-member-menu .miniprofile-header +userAvatar(userId=user._id showEdit=true) .info h3 .js-profile= user.profile.fullname p.quiet @#{user.username} if isInvited p i.fa.fa-exclamation-circle | {{_ 'not-accepted-yet'}} ul.pop-over-list li a.js-filter-member {{_ 'filter-cards'}} if currentUser.isBoardAdmin li a.js-change-role | {{_ 'change-permissions'}} span.quiet (#{memberType}) unless currentUser.isWorker li if $eq currentUser._id userId a.js-leave-member {{_ 'leave-board'}} else if currentUser.isBoardAdmin a.js-remove-member {{_ 'remove-from-board'}} template(name="removeMemberPopup") p {{_ 'remove-member-pop' name=user.profile.fullname username=user.username boardTitle=board.title}} button.js-confirm.negate.full(type="submit") {{_ 'remove-member'}} template(name="leaveBoardPopup") p {{_ 'leave-board-pop' boardTitle=board.title}} button.js-confirm.negate.full(type="submit") {{_ 'leave-board'}} template(name="addMemberPopup") .js-search-member +esInput(index="users") if loading.get +spinner else if error.get .warning {{_ error.get}} else ul.pop-over-list +esEach(index="users") li.item.js-member-item(class="{{#if isBoardMember}}disabled{{/if}}") a.name.js-select-member(title="{{profile.fullname}} ({{username}})") +userAvatar(userId=_id esSearch=true) span.full-name = profile.fullname | ({{username}}) if isBoardMember .quiet ({{_ 'joined'}}) +ifEsIsSearching(index='users') +spinner +ifEsHasNoResults(index="users") .manage-member-section p.quiet {{_ 'no-results'}} button.js-email-invite.primary.full {{_ 'email-invite'}} template(name="changePermissionsPopup") ul.pop-over-list li a(class="{{#if isLastAdmin}}disabled{{else}}js-set-admin{{/if}}") | {{_ 'admin'}} if isAdmin i.fa.fa-check span.sub-name {{_ 'admin-desc'}} li a(class="{{#if isLastAdmin}}disabled{{else}}js-set-normal{{/if}}") | {{_ 'normal'}} if isNormal i.fa.fa-check span.sub-name {{_ 'normal-desc'}} li a(class="{{#if isLastAdmin}}disabled{{else}}js-set-no-comments{{/if}}") | {{_ 'no-comments'}} if isNoComments i.fa.fa-check span.sub-name {{_ 'no-comments-desc'}} li a(class="{{#if isLastAdmin}}disabled{{else}}js-set-comment-only{{/if}}") | {{_ 'comment-only'}} if isCommentOnly i.fa.fa-check span.sub-name {{_ 'comment-only-desc'}} li a(class="{{#if isLastAdmin}}disabled{{else}}js-set-worker{{/if}}") | {{_ 'worker'}} if isWorker i.fa.fa-check span.sub-name {{_ 'worker-desc'}} if isLastAdmin hr p.quiet.bottom {{_ 'last-admin-desc'}}