diff --git a/client/components/cards/checklists.jade b/client/components/cards/checklists.jade index d387de307..779de0876 100644 --- a/client/components/cards/checklists.jade +++ b/client/components/cards/checklists.jade @@ -56,6 +56,9 @@ template(name="addChecklistItemForm") .edit-controls.clearfix button.primary.confirm.js-submit-add-checklist-item-form(type="submit") {{_ 'save'}} a.fa.fa-times-thin.js-close-inlined-form + .material-toggle-switch(title="{{_ 'newlineBecomesNewChecklistItem'}}") + input.toggle-switch(type="checkbox" id="toggleNewlineBecomesNewChecklistItem") + label.toggle-label(for="toggleNewlineBecomesNewChecklistItem") template(name="editChecklistItemForm") a.fa.fa-copy(title="{{_ 'copy-text-to-clipboard'}}") diff --git a/client/components/cards/checklists.js b/client/components/cards/checklists.js index fcb404b95..0d5589650 100644 --- a/client/components/cards/checklists.js +++ b/client/components/cards/checklists.js @@ -105,16 +105,23 @@ BlazeComponent.extendComponent({ addChecklistItem(event) { event.preventDefault(); const textarea = this.find('textarea.js-add-checklist-item'); + const newlineBecomesNewChecklistItem = this.find('input#toggleNewlineBecomesNewChecklistItem'); const title = textarea.value.trim(); const checklist = this.currentData().checklist; if (title) { - ChecklistItems.insert({ - title, - checklistId: checklist._id, - cardId: checklist.cardId, - sort: Utils.calculateIndexData(checklist.lastItem()).base, - }); + let checklistItems = [title]; + if (newlineBecomesNewChecklistItem.checked) { + checklistItems = title.split('\n').map(_value => _value.trim()); + } + for (let checklistItem of checklistItems) { + ChecklistItems.insert({ + title: checklistItem, + checklistId: checklist._id, + cardId: checklist.cardId, + sort: Utils.calculateIndexData(checklist.lastItem()).base, + }); + } } // We keep the form opened, empty it. textarea.value = ''; diff --git a/client/components/cards/checklists.styl b/client/components/cards/checklists.styl index b9983e32d..d0e70dc24 100644 --- a/client/components/cards/checklists.styl +++ b/client/components/cards/checklists.styl @@ -143,3 +143,7 @@ textarea.js-add-checklist-item, textarea.js-edit-checklist-item .checklist-details-menu float: right padding: 6px 10px 6px 10px + +.edit-controls + label.toggle-label + margin-left: 6px diff --git a/i18n/en.i18n.json b/i18n/en.i18n.json index 39dad5c4b..8a8533952 100644 --- a/i18n/en.i18n.json +++ b/i18n/en.i18n.json @@ -1141,5 +1141,6 @@ "copied": "Copied!", "checklistActionsPopup-title": "Checklist Actions", "moveChecklist": "Move Checklist", - "moveChecklistPopup-title": "Move Checklist" + "moveChecklistPopup-title": "Move Checklist", + "newlineBecomesNewChecklistItem": "Newline becomes new checklist item" }