boostcamp-2020/IssueTracker-35

[store] Filter

Opened this issue · 0 comments

개요

  • 이슈 목록의 필터링 상태를 관리하는 Store

초기 상태

  • isOpen: true
    • undefined일 경우 open, closed 모두 표시
  • author: undefined
    • id 저장
  • label: []
    • AND로 적용
  • milestone: undefined
    • null일 경우 milestone이 없는 것만 표시
  • assignee: undefined
  • commented: false

Actions

  • SELECT_OPEN_ISSUES
    • Filters 드롭다운에서 Open issues 선택 시 발생
    • 필터 조건을 초기 상태로 돌림
  • SELECT_CLOSED_ISSUES
    • Filters 드롭다운에서 Closed issues 선택 시 발생
    • 필터 조건을 초기 상태로 돌리고 isOpen을 false로 설정
  • SELECT_MY_ISSUES
    • Filters 드롭다운에서 Your issues 선택 시 발생
    • 필터 조건을 초기 상태로 돌리고 author를 @me로 설정
  • SELECT_ASSIGNED_TO_ME
    • Filters 드롭다운에서 Everything assigned to you 선택 시 발생
    • 필터 조건을 초기 상태로 돌리고 assignee를 @me로 설정
  • SELECT_COMMENTED
    • Filters 드롭다운에서 Everything you commented 선택 시 발생
    • 필터 조건을 초기 상태로 돌리고 commented를 true로 설정

  • UPDATE_ASSIGNEE
    • 드롭다운에서 선택된 assignee가 갱신되었을 때 발생
    • assignee 갱신
  • UPDATE_LABEL
    • 드롭다운에서 선택된 labels 목록이 갱신되었을 때 발생
    • labels 배열을 갱신
  • UPDATE_MILESTONE
    • 드롭다운에서 선택된 milestone이 갱신되었을 때 발생
    • Issues with no milestone을 선택하면 마일스톤이 없는 이슈만 필터링
    • milestone 갱신