diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2021-05-19 18:44:42 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2021-05-19 18:44:42 +0300 |
commit | 4555e1b21c365ed8303ffb7a3325d773c9b8bf31 (patch) | |
tree | 5423a1c7516cffe36384133ade12572cf709398d /app/assets/javascripts/task_list.js | |
parent | e570267f2f6b326480d284e0164a6464ba4081bc (diff) |
Add latest changes from gitlab-org/gitlab@13-12-stable-eev13.12.0-rc42
Diffstat (limited to 'app/assets/javascripts/task_list.js')
-rw-r--r-- | app/assets/javascripts/task_list.js | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/app/assets/javascripts/task_list.js b/app/assets/javascripts/task_list.js index bc8a8e425dd..3b2210b9ef2 100644 --- a/app/assets/javascripts/task_list.js +++ b/app/assets/javascripts/task_list.js @@ -40,20 +40,37 @@ export default class TaskList { taskListField.value = taskListField.dataset.value; }); - $(this.taskListContainerSelector).taskList('enable'); - $(document).on('tasklist:changed', this.taskListContainerSelector, this.updateHandler); + this.enable(); } getTaskListTarget(e) { return e && e.currentTarget ? $(e.currentTarget) : $(this.taskListContainerSelector); } + // Disable any task items that don't have a data-sourcepos attribute, on the + // assumption that if it doesn't then it wasn't generated from our markdown parser. + // This covers the case of markdown not being able to handle task lists inside + // markdown tables. It also includes hand coded HTML lists. + disableNonMarkdownTaskListItems(e) { + this.getTaskListTarget(e) + .find('.task-list-item') + .not('[data-sourcepos]') + .find('.task-list-item-checkbox') + .prop('disabled', true); + } + disableTaskListItems(e) { this.getTaskListTarget(e).taskList('disable'); } enableTaskListItems(e) { this.getTaskListTarget(e).taskList('enable'); + this.disableNonMarkdownTaskListItems(e); + } + + enable() { + this.enableTaskListItems(); + $(document).on('tasklist:changed', this.taskListContainerSelector, this.updateHandler); } disable() { |