Skip to main content
← 블로그

체크박스 없는 다중 선택 — Table 뷰에 일괄 편집과 필터별 컬럼을 얹다

VauDium·

데스크톱 Table 뷰에 행을 여러 개 골라 한 번에 고치는 기능을 넣었습니다. 체크박스는 두지 않았고, 날짜 버튼은 두 번 넣었다 뺐습니다. 저장 필터는 이제 조건뿐 아니라 어떤 컬럼을 어떤 순서로 볼지도 함께 기억합니다.

체크박스 없는 다중 선택 — Table 뷰에 일괄 편집과 필터별 컬럼을 얹다

페칫 데스크톱의 Table 뷰는 할 일을 Jira식 표로 다루는 화면입니다. 셀을 클릭해 바로 고치고, 헤더로 정렬·필터를 걸고, 자주 쓰는 조건은 저장 필터로 칩에 걸어 둡니다. 이 화면을 두고 후보 여섯 개를 늘어놓았는데, 오늘은 그중 둘을 골라 만들었습니다. 행 다중 선택과 일괄 편집, 그리고 저장 필터별 컬럼 구성입니다.

1. 체크박스를 두지 않기로 했다

여러 행을 고르는 UI의 정석은 왼쪽 끝 체크박스 컬럼입니다. 하지만 페칫 Table 뷰는 별과 할 일 컬럼이 왼쪽에 고정돼 있고, 그 앞에 체크박스가 늘 서 있으면 표가 한 칸씩 오른쪽으로 밀립니다. 대부분의 시간에 쓰지 않는 컬럼이 늘 자리를 차지하는 셈이죠. 결정은 체크박스 없음이었습니다.

대신 데스크톱이 이미 가진 문법을 씁니다. Shift+클릭은 앵커부터 범위 선택, ⌘(Ctrl)+클릭은 개별 토글, 일반 클릭과 Esc는 해제입니다. 선택 중에 일반 클릭을 하면 상세를 열지 않고 해제만 합니다. 여러 개를 고른 상태에서 무심코 한 행을 눌렀다가 상세가 열리면 선택이 통째로 날아가는 느낌이 들거든요. 선택된 행은 옅은 파랑으로 칠합니다.

여기서 한 가지 함정이 있었습니다. 셀 팝오버가 클릭을 삼키고 있어서 Shift를 누른 채 셀을 눌러도 행 선택으로 전파되지 않았습니다. 수식키가 눌린 클릭은 셀이 받지 않고 행으로 넘기도록 바꿨고, Shift 클릭 때 브라우저가 텍스트를 파랗게 잡는 것도 막았습니다.

2. 하단 플로팅 바 — 그리고 두 번 뺀 날짜 버튼

행이 선택되면 표 아래 중앙에 파란 테두리의 플로팅 바가 뜹니다. “N개 선택”과 함께 포인트 컬러·상태·우선순위·프로젝트·중간 목표·담당·꼬리표 버튼이 서 있습니다. 중간 목표와 담당은 선택된 행이 전부 같은 프로젝트일 때만 나타납니다. 다른 프로젝트의 마일스톤을 섞어 붙일 수는 없으니까요.

시작일과 마감 버튼은 처음에 넣었습니다. 그리고 뺐습니다. 다시 넣었고, 다시 뺐습니다. 최종 판단은 “너무 많다”였습니다. 바에 버튼이 아홉 개 서 있으면 자주 쓰는 것과 가끔 쓰는 것이 같은 무게로 보입니다. 날짜는 다른 길로 갑니다. 아래에 적을 셀 편집 경로입니다.

3. 선택된 행의 셀 편집은 선택 전체에 적용된다

바의 버튼만이 일괄 편집의 입구는 아닙니다. 행을 여러 개 고른 상태에서 그중 한 행의 셀을 클릭해 고치면, 그 변경이 선택된 행 전부에 적용됩니다. 셀 편집과 같은 메뉴가 뜨고, 고르면 전부 바뀝니다. 날짜도 이 경로로 갑니다. 초안 패널에서 확인을 누르면 선택 전체에 일괄 적용됩니다. 바에서 뺀 날짜 버튼이 사라진 게 아니라, 자리를 옮긴 셈입니다.

프로젝트와 중간 목표는 여기서도 조심합니다. 클릭한 행과 같은 프로젝트인 선택 행에만 적용하고, 프로젝트는 단계(서브태스크)를 건너뜁니다. 꼬리표는 선택 행이 전부 그 꼬리표를 가졌으면 전부 해제하고, 아니면 없는 행에만 붙입니다. 프로젝트나 중간 목표를 새로 만드는 행을 고르면, 만들어진 것이 선택 전체에 설정됩니다.

일괄 변이는 낙관 선반영입니다. 전부 먼저 바꾸고, 실패한 행만 되돌리고, 실패 수를 토스트 한 번으로 알립니다. 스무 개 중 하나가 실패했다고 스무 개를 되돌리지는 않습니다.

4. 저장 필터가 컬럼도 기억한다

두 번째 기능은 조용합니다. 저장 필터를 만들거나 업데이트하면 지금 보이는 컬럼과 그 순서가 조건과 함께 저장됩니다. 그 필터를 포커스하면 컬럼 배치가 그대로 따라오고, 포커스 중에 컬럼을 건드린 것은 작업 사본으로만 남습니다. 해제하면 개인 배치로 돌아옵니다. 조건 편집이 이미 따르던 문법 그대로입니다.

“이번 주 마감” 필터에서는 마감과 우선순위를 앞에 두고, “프로젝트 A” 필터에서는 담당과 중간 목표를 앞에 두는 식으로, 필터마다 다른 표를 갖게 됩니다. 컬럼 폭은 개인값으로 남기고, 공유 링크에는 컬럼을 싣지 않습니다. 같은 필터를 받아 연 사람이 내 폭과 내 컬럼에 갇힐 이유는 없습니다. 컬럼 정보가 없는 옛 필터는 컬럼을 건드리지 않습니다.

모바일 iPad의 Table 뷰에도 컬럼 저장은 대칭으로 들어갔습니다. 다중 선택은 넣지 않았습니다. 수식키 없는 화면에서 같은 문법을 재현하려면 결국 체크박스로 돌아가야 하고, 그 결정은 오늘 하지 않았습니다.

남긴 것

후보 여섯 중 넷이 남았습니다. 키보드 탐색, 그룹 묶기, 인라인 행 추가, CSV 내보내기. 일괄 삭제와 별 색 일괄 변경은 의도적으로 뺐습니다. 지우는 일은 느려도 됩니다. 오늘의 두 기능은 런타임에서 아직 충분히 굴려 보지 못했습니다. 며칠 써 보고 다시 적겠습니다.