|
17 | 17 | "TextFilterMatchAny" (ctx.Locale.Tr "repo.issues.filter_assignee_any_assignee") |
18 | 18 | }} |
19 | 19 | </div> |
| 20 | + <div class="ui compact mini menu" style="margin-left: auto; margin-right: 1em;"> |
| 21 | + <button class="item btn" onclick="clickDetailsView()"> |
| 22 | + <span class="issue-card-details">Show Details</span> |
| 23 | + <span class="issue-card-details tw-hidden">Hide Details</span> |
| 24 | + </button> |
| 25 | + <button class="item btn" onclick="clickClosedView()"> |
| 26 | + <span class="issue-card-closed">Show Closed</span> |
| 27 | + <span class="issue-card-closed tw-hidden">Hide Closed</span> |
| 28 | + </button> |
| 29 | + </div> |
20 | 30 | {{if $canWriteProject}} |
21 | 31 | <div class="ui compact mini menu"> |
22 | 32 | <a class="item screen-full"> |
|
112 | 122 | <div class="divider"{{if .Color}} style="color: {{ContrastColor .Color}} !important"{{end}}></div> |
113 | 123 | <div class="ui cards" data-url="{{$.Link}}/{{.ID}}" data-project="{{$.Project.ID}}" data-board="{{.ID}}" id="board_{{.ID}}"> |
114 | 124 | {{range (index $.IssuesMap .ID)}} |
115 | | - <div class="issue-card tw-break-anywhere {{if $canWriteProject}}tw-cursor-grab{{end}}" data-issue="{{.ID}}"> |
| 125 | + <div class="issue-card tw-break-anywhere {{if $canWriteProject}}tw-cursor-grab{{end}} {{if .IsClosed}}issue-card-closed tw-hidden{{end}}" data-issue="{{.ID}}"> |
116 | 126 | {{template "repo/issue/card" (dict "Issue" . "Page" $)}} |
117 | 127 | </div> |
118 | 128 | {{end}} |
|
122 | 132 | </div> |
123 | 133 | </div> |
124 | 134 |
|
| 135 | +<script> |
| 136 | + keyDetails = 'project-show-issue-details:{{.Repository.FullName | JSEscape}}:{{.Project.ID}}'; |
| 137 | + keyClosed = 'project-show-issue-closed:{{.Repository.FullName | JSEscape}}:{{.Project.ID}}'; |
| 138 | + |
| 139 | + function toggleDetailsView() { |
| 140 | + for (const elem of document.querySelectorAll('.issue-card-details')) { |
| 141 | + elem.classList.toggle('tw-hidden'); |
| 142 | + } |
| 143 | + } |
| 144 | + function clickDetailsView() { |
| 145 | + localStorage.setItem(keyDetails, (localStorage.getItem(keyDetails) === 'true') ? 'false' : 'true'); |
| 146 | + toggleDetailsView(); |
| 147 | + } |
| 148 | + if (localStorage.getItem(keyDetails) === 'true') { |
| 149 | + toggleDetailsView(); |
| 150 | + } |
| 151 | + |
| 152 | + function toggleClosedView() { |
| 153 | + for (const elem of document.querySelectorAll('.issue-card-closed')) { |
| 154 | + elem.classList.toggle('tw-hidden'); |
| 155 | + } |
| 156 | + } |
| 157 | + function clickClosedView() { |
| 158 | + localStorage.setItem(keyClosed, (localStorage.getItem(keyClosed) === 'true') ? 'false' : 'true'); |
| 159 | + toggleClosedView(); |
| 160 | + } |
| 161 | + if (localStorage.getItem(keyClosed) === 'true') { |
| 162 | + toggleClosedView(); |
| 163 | + } |
| 164 | +</script> |
| 165 | + |
125 | 166 | {{if $canWriteProject}} |
126 | 167 | <div class="ui small modal" id="project-column-modal-edit"> |
127 | 168 | <div class="header">edit</div> |
|
0 commit comments