summaryrefslogtreecommitdiff
path: root/assets/js/src/Subtask.js
diff options
context:
space:
mode:
Diffstat (limited to 'assets/js/src/Subtask.js')
-rw-r--r--assets/js/src/Subtask.js86
1 files changed, 0 insertions, 86 deletions
diff --git a/assets/js/src/Subtask.js b/assets/js/src/Subtask.js
deleted file mode 100644
index eef160d7..00000000
--- a/assets/js/src/Subtask.js
+++ /dev/null
@@ -1,86 +0,0 @@
-Kanboard.Subtask = function(app) {
- this.app = app;
-};
-
-Kanboard.Subtask.prototype.listen = function() {
- var self = this;
- this.dragAndDrop();
-
- $(document).on("click", ".js-subtask-toggle-status", function(e) {
- var el = $(this);
- e.preventDefault();
-
- $.ajax({
- cache: false,
- url: el.attr("href"),
- success: function(data) {
- $(el).closest('.subtask-title').replaceWith(data);
- }
- });
- });
-
- $(document).on("click", ".js-subtask-toggle-timer", function(e) {
- var el = $(this);
- e.preventDefault();
-
- $.ajax({
- cache: false,
- url: el.attr("href"),
- success: function(data) {
- $(el).closest('.subtask-time-tracking').replaceWith(data);
- }
- });
- });
-};
-
-Kanboard.Subtask.prototype.dragAndDrop = function() {
- var self = this;
-
- $(".draggable-row-handle").mouseenter(function() {
- $(this).parent().parent().addClass("draggable-item-hover");
- }).mouseleave(function() {
- $(this).parent().parent().removeClass("draggable-item-hover");
- });
-
- $(".subtasks-table tbody").sortable({
- forcePlaceholderSize: true,
- handle: "td:first i",
- helper: function(e, ui) {
- ui.children().each(function() {
- $(this).width($(this).width());
- });
-
- return ui;
- },
- stop: function(event, ui) {
- var subtask = ui.item;
- subtask.removeClass("draggable-item-selected");
- self.savePosition(subtask.data("subtask-id"), subtask.index() + 1);
- },
- start: function(event, ui) {
- ui.item.addClass("draggable-item-selected");
- }
- }).disableSelection();
-};
-
-Kanboard.Subtask.prototype.savePosition = function(subtaskId, position) {
- var url = $(".subtasks-table").data("save-position-url");
- var self = this;
-
- this.app.showLoadingIcon();
-
- $.ajax({
- cache: false,
- url: url,
- contentType: "application/json",
- type: "POST",
- processData: false,
- data: JSON.stringify({
- "subtask_id": subtaskId,
- "position": position
- }),
- complete: function() {
- self.app.hideLoadingIcon();
- }
- });
-};