Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2021-05-19 18:44:42 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2021-05-19 18:44:42 +0300
commit4555e1b21c365ed8303ffb7a3325d773c9b8bf31 (patch)
tree5423a1c7516cffe36384133ade12572cf709398d /app/assets/javascripts/task_list.js
parente570267f2f6b326480d284e0164a6464ba4081bc (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.js21
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() {