gitea/web_src/js/features/repo-issue-sidebar.md
wxiaoguang 58c634b854
Refactor sidebar label selector (#32460)
Introduce `issueSidebarLabelsData` to handle all sidebar labels related data.
2024-11-10 08:26:42 +00:00

864 B

A sidebar combo (dropdown+list) is like this:

<div class="issue-sidebar-combo" data-update-url="...">
  <input class="combo-value" name="..." type="hidden" value="...">
  <div class="ui dropdown">
    <div class="menu">
      <div class="item clear-selection">clear</div>
      <div class="item" data-value="..." data-scope="...">
        <span class="item-check-mark">...</span>
        ...
      </div>
    </div>
  </div>
  <div class="ui list">
    <span class="item empty-list">no item</span>
    <span class="item">...</span>
  </div>
</div>

When the selected items change, the combo-value input will be updated.
If there is data-update-url, it also calls backend to attach/detach the changed items.

Also, the changed items will be syncronized to the ui list items.

The items with the same data-scope only allow one selected at a time.