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:
Diffstat (limited to 'app/assets/javascripts/todos.js.coffee')
-rw-r--r--app/assets/javascripts/todos.js.coffee110
1 files changed, 0 insertions, 110 deletions
diff --git a/app/assets/javascripts/todos.js.coffee b/app/assets/javascripts/todos.js.coffee
deleted file mode 100644
index 10bef96f43d..00000000000
--- a/app/assets/javascripts/todos.js.coffee
+++ /dev/null
@@ -1,110 +0,0 @@
-class @Todos
- constructor: (opts = {}) ->
- {
- @el = $('.js-todos-options')
- } = opts
-
- @perPage = @el.data('perPage')
-
- @clearListeners()
- @initBtnListeners()
-
- clearListeners: ->
- $('.done-todo').off('click')
- $('.js-todos-mark-all').off('click')
- $('.todo').off('click')
-
- initBtnListeners: ->
- $('.done-todo').on('click', @doneClicked)
- $('.js-todos-mark-all').on('click', @allDoneClicked)
- $('.todo').on('click', @goToTodoUrl)
-
- doneClicked: (e) =>
- e.preventDefault()
- e.stopImmediatePropagation()
-
- $this = $(e.currentTarget)
- $this.disable()
-
- $.ajax
- type: 'POST'
- url: $this.attr('href')
- dataType: 'json'
- data: '_method': 'delete'
- success: (data) =>
- @redirectIfNeeded data.count
- @clearDone $this.closest('li')
- @updateBadges data
-
- allDoneClicked: (e) =>
- e.preventDefault()
- e.stopImmediatePropagation()
-
- $this = $(e.currentTarget)
- $this.disable()
-
- $.ajax
- type: 'POST'
- url: $this.attr('href')
- dataType: 'json'
- data: '_method': 'delete'
- success: (data) =>
- $this.remove()
- $('.js-todos-list').remove()
- @updateBadges data
-
- clearDone: ($row) ->
- $ul = $row.closest('ul')
- $row.remove()
-
- if not $ul.find('li').length
- $ul.parents('.panel').remove()
-
- updateBadges: (data) ->
- $('.todos-pending .badge, .todos-pending-count').text data.count
- $('.todos-done .badge').text data.done_count
-
- getTotalPages: ->
- @el.data('totalPages')
-
- getCurrentPage: ->
- @el.data('currentPage')
-
- getTodosPerPage: ->
- @el.data('perPage')
-
- redirectIfNeeded: (total) ->
- currPages = @getTotalPages()
- currPage = @getCurrentPage()
-
- # Refresh if no remaining Todos
- if not total
- location.reload()
- return
-
- # Do nothing if no pagination
- return if not currPages
-
- newPages = Math.ceil(total / @getTodosPerPage())
- url = location.href # Includes query strings
-
- # If new total of pages is different than we have now
- if newPages isnt currPages
- # Redirect to previous page if there's one available
- if currPages > 1 and currPage is currPages
- pageParams =
- page: currPages - 1
- url = gl.utils.mergeUrlParams(pageParams, url)
-
- Turbolinks.visit(url)
-
- goToTodoUrl: (e)->
- todoLink = $(this).data('url')
- return unless todoLink
-
- # Allow Meta-Click or Mouse3-click to open in a new tab
- if e.metaKey or e.which is 2
- e.preventDefault()
- window.open(todoLink,'_blank')
- else
- Turbolinks.visit(todoLink)