summaryrefslogtreecommitdiff
path: root/app/views/shared/boards/components/_board.html.haml
blob: ffa24d1c0411fae93bdd5193397fa61d7a614d7f (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
61
62
63
64
65
66
67
68
69
70
71
72
.board.h-100.px-2.align-top.ws-normal{ ":class" => '{ "is-draggable": !list.preset, "is-expandable": list.isExpandable, "is-collapsed": !list.isExpanded, "board-type-assignee": list.type === "assignee" }',
  ":data-id" => "list.id", data: { qa_selector: "board_list" } }
  .board-inner.d-flex.flex-column.position-relative.h-100.rounded
    %header.board-header{ ":class" => '{ "has-border": list.label && list.label.color, "position-relative": list.isExpanded, "position-absolute position-top-0 position-left-0 w-100 h-100": !list.isExpanded }', ":style" => "{ borderTopColor: (list.label && list.label.color ? list.label.color : null) }", data: { qa_selector: "board_list_header" } }
      %h3.board-title.m-0.d-flex.js-board-handle{ ":class" => '{ "user-can-drag": (!disabled && !list.preset), "border-bottom-0": !list.isExpanded }' }

        .board-title-caret.no-drag{ "v-if": "list.isExpandable",
          "aria-hidden": "true",
          ":aria-label": "caretTooltip",
          ":title": "caretTooltip",
          "v-tooltip": "",
          data: { placement: "bottom" },
          "@click": "toggleExpanded" }
          %i.fa.fa-fw{ ":class": '{ "fa-caret-right": list.isExpanded, "fa-caret-down": !list.isExpanded }' }
        = render_if_exists "shared/boards/components/list_milestone"

        %a.user-avatar-link.js-no-trigger{ "v-if": "list.type === \"assignee\"", ":href": "list.assignee.path" }
          -# haml-lint:disable AltText
          %img.avatar.s20.has-tooltip{ height: "20", width: "20", ":src": "list.assignee.avatar", ":alt": "list.assignee.name" }

        .board-title-text
          %span.board-title-main-text.block-truncated{ "v-if": "list.type !== \"label\"",
            ":title" => '((list.label && list.label.description) || list.title || "")',
            data: { container: "body" },
            ":class": "{ 'has-tooltip': !['backlog', 'closed'].includes(list.type) }" }
            {{ list.title }}

          %span.board-title-sub-text.prepend-left-5.has-tooltip{ "v-if": "list.type === \"assignee\"",
            ":title" => '(list.assignee && list.assignee.username || "")' }
            @{{ list.assignee.username }}

          %span.has-tooltip.badge.color-label.title{ "v-if": "list.type === \"label\"",
            ":title" => '(list.label ? list.label.description : "")',
            data: { container: "body", placement: "bottom" },
            ":style" => "{ backgroundColor: (list.label && list.label.color ? list.label.color : null), color: (list.label && list.label.textColor ? list.label.textColor : \"#2e2e2e\") }" }
            {{ list.title }}

        - if can?(current_user, :admin_list, current_board_parent)
          %board-delete{ "inline-template" => true,
            ":list" => "list",
            "v-if" => "!list.preset && list.id" }
            %button.board-delete.no-drag.p-0.border-0.has-tooltip.float-right{ type: "button", title: _("Delete list"), ":class": "{ 'd-none': !list.isExpanded }", "aria-label" => _("Delete list"), data: { placement: "bottom" }, "@click.stop" => "deleteBoard" }
              = icon("trash")

        .issue-count-badge.no-drag.text-secondary{ "v-if" => 'list.type !== "blank" && list.type !== "promotion"', ":title": "counterTooltip", "v-tooltip": true, data: { placement: "top" } }
          %span.d-inline-flex
            %span.issue-count-badge-count
              %icon.mr-1{ name: "issues" }
              {{ list.issuesSize }}
            = render_if_exists "shared/boards/components/list_weight"

        %button.issue-count-badge-add-button.no-drag.btn.btn-sm.btn-default.ml-1.has-tooltip{ type: "button",
          "@click" => "showNewIssueForm",
          "v-if" => "isNewIssueShown",
          ":class": "{ 'd-none': !list.isExpanded }",
          "aria-label" => _("New issue"),
          "title" => _("New issue"),
          data: { placement: "top", container: "body" } }
          = icon("plus")

    %board-list{ "v-if" => 'list.type !== "blank" && list.type !== "promotion"',
      ":list" => "list",
      ":issues" => "list.issues",
      ":loading" => "list.loading",
      ":disabled" => "disabled",
      ":issue-link-base" => "issueLinkBase",
      ":root-path" => "rootPath",
      ":groupId" => ((current_board_parent.id if @group) || 'null'),
      "ref" => "board-list" }
    - if can?(current_user, :admin_list, current_board_parent)
      %board-blank-state{ "v-if" => 'list.id == "blank"' }
    = render_if_exists 'shared/boards/board_promotion_state'