Skip to content

Commit cd18ca5

Browse files
authored
Merge branch 'develop' into ari/fix-pro/129
2 parents 6b91767 + 844cdba commit cd18ca5

5 files changed

Lines changed: 40 additions & 10 deletions

File tree

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
Bugs we fixed:
44

55
* Fix issue where "Perform all updates" task was incorrectly marked as completed.
6+
* Prevent new lines to be added when user task title is edited.
67

78

89
= 1.6.2 =

assets/js/editor.js

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ const prplGetPageTypeSlugFromId = ( id ) => {
3939

4040
return progressPlannerEditor.pageTypes.find(
4141
( pageTypeItem ) => parseInt( pageTypeItem.id ) === parseInt( id )
42-
).slug;
42+
)?.slug;
4343
};
4444

4545
/**
@@ -48,6 +48,14 @@ const prplGetPageTypeSlugFromId = ( id ) => {
4848
* @return {Element} Element to render.
4949
*/
5050
const PrplRenderPageTypeSelector = () => {
51+
// Bail early if the page types are not set.
52+
if (
53+
! progressPlannerEditor.pageTypes ||
54+
0 === progressPlannerEditor.pageTypes.length
55+
) {
56+
return el( 'div', {}, '' );
57+
}
58+
5159
// Build the page types array, to be used in the dropdown.
5260
const pageTypes = [];
5361
progressPlannerEditor.pageTypes.forEach( ( term ) => {
@@ -187,8 +195,12 @@ const PrplLessonItemsHTML = () => {
187195
}, [] );
188196
const pageTodos = pageTodosMeta || '';
189197

190-
// Bail early if the page type is not set.
191-
if ( ! pageType ) {
198+
// Bail early if the page type or lessons are not set.
199+
if (
200+
! pageType ||
201+
! progressPlannerEditor.lessons ||
202+
0 === progressPlannerEditor.lessons.length
203+
) {
192204
return el( 'div', {}, '' );
193205
}
194206

assets/js/suggested-task.js

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -495,6 +495,19 @@ prplSuggestedTask = {
495495
}, 300 );
496496
},
497497

498+
/**
499+
* Prevent Enter key in contenteditable elements.
500+
*
501+
* @param {Event} event The keydown event.
502+
*/
503+
preventEnterKey: ( event ) => {
504+
if ( event.key === 'Enter' ) {
505+
event.preventDefault();
506+
event.stopPropagation();
507+
return false;
508+
}
509+
},
510+
498511
/**
499512
* Get the task element.
500513
*

assets/js/widgets/suggested-tasks-badge-scroller.js

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -92,12 +92,16 @@ class BadgeScroller {
9292
}
9393

9494
addEventListeners() {
95-
this.badgeButtonUp.addEventListener( 'click', () =>
96-
this.handleUpClick()
97-
);
98-
this.badgeButtonDown.addEventListener( 'click', () =>
99-
this.handleDownClick()
100-
);
95+
if ( this.badgeButtonUp ) {
96+
this.badgeButtonUp.addEventListener( 'click', () =>
97+
this.handleUpClick()
98+
);
99+
}
100+
if ( this.badgeButtonDown ) {
101+
this.badgeButtonDown.addEventListener( 'click', () =>
102+
this.handleDownClick()
103+
);
104+
}
101105
}
102106

103107
handleUpClick() {

views/js-templates/suggested-task.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
<# } #>
2222

2323
<h3 style="width: 100%;">
24-
<span <# if ( 'user' === categorySlug ) { #>contenteditable="plaintext-only" onkeydown="prplSuggestedTask.updateTaskTitle( this );" data-post-id="{{ data.post.id }}"<# } #>><# if ( data.post.meta.prpl_url ) { #><a href="{{{ data.post.meta.prpl_url }}}" target="{{{ data.post.meta.prpl_url_target }}}">{{{ data.post.title.rendered }}}</a><# } else if ( data.post.meta.prpl_popover_id ) { #><a href="#" role="button" onclick="document.getElementById('{{{ data.post.meta.prpl_popover_id }}}')?.showPopover()">{{{ data.post.title.rendered }}}</a><# } else { #>{{{ data.post.title.rendered }}}<# } #></span>
24+
<span <# if ( 'user' === categorySlug ) { #>contenteditable="plaintext-only" onkeydown="prplSuggestedTask.preventEnterKey( event ); prplSuggestedTask.updateTaskTitle( this );" data-post-id="{{ data.post.id }}"<# } #>><# if ( data.post.meta.prpl_url ) { #><a href="{{{ data.post.meta.prpl_url }}}" target="{{{ data.post.meta.prpl_url_target }}}">{{{ data.post.title.rendered }}}</a><# } else if ( data.post.meta.prpl_popover_id ) { #><a href="#" role="button" onclick="document.getElementById('{{{ data.post.meta.prpl_popover_id }}}')?.showPopover()">{{{ data.post.title.rendered }}}</a><# } else { #>{{{ data.post.title.rendered }}}<# } #></span>
2525
</h3>
2626

2727
<div class="prpl-suggested-task-actions">

0 commit comments

Comments
 (0)