From 9df5c0e2de0d2a1d3a200bb40a7f39dfa1ef4f56 Mon Sep 17 00:00:00 2001 From: Devin McAllester Date: Tue, 14 Apr 2020 17:05:58 -0700 Subject: Allows for use of checklist on mobile --- client/components/cards/checklists.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'client/components/cards/checklists.js') diff --git a/client/components/cards/checklists.js b/client/components/cards/checklists.js index c88fdd82..94d8176b 100644 --- a/client/components/cards/checklists.js +++ b/client/components/cards/checklists.js @@ -250,7 +250,7 @@ BlazeComponent.extendComponent({ events() { return [ { - 'click .js-checklist-item .check-box': this.toggleItem, + 'click .js-checklist-item .check-box-container': this.toggleItem, }, ]; }, -- cgit v1.2.3-1-g7c22 From 9f0273aa4487545cc28712d33a4ee141738b1571 Mon Sep 17 00:00:00 2001 From: boeserwolf Date: Tue, 21 Apr 2020 00:58:15 +0300 Subject: Pre-fill the title of checklists (Trello-style) --- client/components/cards/checklists.js | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'client/components/cards/checklists.js') diff --git a/client/components/cards/checklists.js b/client/components/cards/checklists.js index 94d8176b..5acab536 100644 --- a/client/components/cards/checklists.js +++ b/client/components/cards/checklists.js @@ -1,4 +1,4 @@ -const { calculateIndexData, enableClickOnTouch } = Utils; +const { calculateIndexData, enableClickOnTouch, capitalize } = Utils; function initSorting(items) { items.sortable({ @@ -177,6 +177,16 @@ BlazeComponent.extendComponent({ } }, + focusChecklistItem(event) { + // If a new checklist is created, pre-fill the title and select it. + const checklist = this.currentData().checklist; + if (!checklist) { + const textarea = event.target; + textarea.value = capitalize(TAPi18n.__('r-checklist')); + textarea.select(); + } + }, + events() { const events = { 'click .toggle-delete-checklist-dialog'(event) { @@ -196,6 +206,7 @@ BlazeComponent.extendComponent({ 'submit .js-edit-checklist-item': this.editChecklistItem, 'click .js-delete-checklist-item': this.deleteItem, 'click .confirm-checklist-delete': this.deleteChecklist, + 'focus .js-add-checklist-item': this.focusChecklistItem, keydown: this.pressKey, }, ]; -- cgit v1.2.3-1-g7c22 From 981ed546f1cae45ad8b92b393ee29c1a26277f32 Mon Sep 17 00:00:00 2001 From: Marc Hartmayer Date: Thu, 23 Apr 2020 00:54:39 +0200 Subject: Newer versions of jQuery sortable use `uiSortable` key Newer versions of jQuery sortable use `uiSortable` as key to store the data. Let's adapt the code. While at it, refactor the code. --- client/components/cards/checklists.js | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) (limited to 'client/components/cards/checklists.js') diff --git a/client/components/cards/checklists.js b/client/components/cards/checklists.js index 5acab536..8daf6ee7 100644 --- a/client/components/cards/checklists.js +++ b/client/components/cards/checklists.js @@ -57,11 +57,8 @@ BlazeComponent.extendComponent({ // Disable sorting if the current user is not a board member self.autorun(() => { const $itemsDom = $(self.itemsDom); - if ($itemsDom.data('sortable')) { - $(self.itemsDom).sortable('option', 'disabled', !userIsMember()); - } - if ($itemsDom.data('sortable')) { - $(self.itemsDom).sortable('option', 'disabled', Utils.isMiniScreen()); + if ($itemsDom.data('uiSortable')) { + $(self.itemsDom).sortable('option', 'disabled', !userIsMember() || Utils.isMiniScreen()); } }); }, -- cgit v1.2.3-1-g7c22 From 6d1cdebfe214c7f67f8cc396cf880d1b5a18f013 Mon Sep 17 00:00:00 2001 From: Marc Hartmayer Date: Sat, 25 Apr 2020 09:48:56 +0200 Subject: Make it compatible with newer and older versions of jQuery sortable While at it, fix comments and prettify it. --- client/components/cards/checklists.js | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'client/components/cards/checklists.js') diff --git a/client/components/cards/checklists.js b/client/components/cards/checklists.js index 8daf6ee7..ca394aa5 100644 --- a/client/components/cards/checklists.js +++ b/client/components/cards/checklists.js @@ -54,11 +54,15 @@ BlazeComponent.extendComponent({ return Meteor.user() && Meteor.user().isBoardMember(); } - // Disable sorting if the current user is not a board member + // Disable sorting if the current user is not a board member or is a miniscreen self.autorun(() => { const $itemsDom = $(self.itemsDom); - if ($itemsDom.data('uiSortable')) { - $(self.itemsDom).sortable('option', 'disabled', !userIsMember() || Utils.isMiniScreen()); + if ($itemsDom.data('uiSortable') || $itemsDom.data('sortable')) { + $(self.itemsDom).sortable( + 'option', + 'disabled', + !userIsMember() || Utils.isMiniScreen(), + ); } }); }, -- cgit v1.2.3-1-g7c22 From f1b18d79cdbfd9c9edecf4f93a89e88ee1c6faea Mon Sep 17 00:00:00 2001 From: Marc Hartmayer Date: Fri, 24 Apr 2020 22:41:24 +0200 Subject: Don't interpret dragging an element as a click Remove `enableClickOnTouch` as this behavior is not intuitive. --- client/components/cards/checklists.js | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) (limited to 'client/components/cards/checklists.js') diff --git a/client/components/cards/checklists.js b/client/components/cards/checklists.js index ca394aa5..29573d2b 100644 --- a/client/components/cards/checklists.js +++ b/client/components/cards/checklists.js @@ -1,4 +1,4 @@ -const { calculateIndexData, enableClickOnTouch, capitalize } = Utils; +const { calculateIndexData, capitalize } = Utils; function initSorting(items) { items.sortable({ @@ -36,9 +36,6 @@ function initSorting(items) { checklistItem.move(checklistId, sortIndex.base); }, }); - - // ugly touch event hotfix - enableClickOnTouch('.js-checklist-item:not(.placeholder)'); } BlazeComponent.extendComponent({ -- cgit v1.2.3-1-g7c22