summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/issuable_context.js.coffee
blob: 3c491ebfc4cd18fad7148db2e39f0790c7cb9a8b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
class @IssuableContext
  constructor: (currentUser) ->
    @initParticipants()
    new UsersSelect(currentUser)
    $('select.select2').select2({width: 'resolve', dropdownAutoWidth: true})

    $(".issuable-sidebar .inline-update").on "change", "select", ->
      $(this).submit()
    $(".issuable-sidebar .inline-update").on "change", ".js-assignee", ->
      $(this).submit()

    $(document)
      .off 'click', '.issuable-sidebar .dropdown-content a'
      .on 'click', '.issuable-sidebar .dropdown-content a', (e) ->
        e.preventDefault()

    $(document)
      .off 'click', '.edit-link'
      .on 'click', '.edit-link', (e) ->
        e.preventDefault()

        $block = $(@).parents('.block')
        $selectbox = $block.find('.selectbox')
        if $selectbox.is(':visible')
          $selectbox.hide()
          $block.find('.value').show()
        else
          $selectbox.show()
          $block.find('.value').hide()

        if $selectbox.is(':visible')
          setTimeout ->
            $block.find('.dropdown-menu-toggle').trigger 'click'
          , 0

    $(".right-sidebar").niceScroll()

  initParticipants: ->
    _this = @
    $(document).on "click", ".js-participants-more", @toggleHiddenParticipants

    $(".js-participants-author").each (i) ->
      if i >= _this.PARTICIPANTS_ROW_COUNT
        $(@)
          .addClass "js-participants-hidden"
          .hide()

  toggleHiddenParticipants: (e) ->
    e.preventDefault()

    currentText = $(this).text().trim()
    lessText = $(this).data("less-text")
    originalText = $(this).data("original-text")

    if currentText is originalText
      $(this).text(lessText)
    else
      $(this).text(originalText)

    $(".js-participants-hidden").toggle()